JSFiddle - React, Tailwind, and code Playground

by guest271314

JavaScript

// jquery version 1.8.3
// `Uncaught TypeError: Object #<Object> has no method 'resolve'`
// when try to utilize `deferred.resolve()` within `deferred.progress`
// with jquery version 1.9+
$(function () {
    var deferred = $.Deferred();
    var result = {};
    var GetAllFileNames = function () {
        return {
            "allFileNames": [1, 2, 3, 4, 5, 6, 7, 8, 9]
        };
    };

    function getfilenames(condition) {

        if (condition == true) {
            return deferred.notify(JSON.parse(allFileNames));
        } else {
            return deferred.notify(GetAllFileNames());
        }
    };

    deferred.then(
    // `deferred.done`
    function (fileNames) {
        result.fileNames = fileNames;
        $("<span>" + result.fileNames.allFileNames + "</span>")
            .appendTo("body");
    }
    // `deferred.fail`
    ,


    function () {
        console.log(new Error("getfilenames error").message);
    }
    // `deferred.progress`
    ,


    function (fileNames) {
        console.log(fileNames.allFileNames, fileNames.allFileNames.length, this.state());
        if (fileNames.allFileNames.length === 9) {
            this.resolve(fileNames);
        }
    });

    getfilenames(false);

})