Wie fetch-Wert von Promise-Objekt nach dem Versprechen gelöst wurde

Bitte beachten Sie, Dies ist ein erfundenes Beispiel.

    function longFunc(){
        var deferred = $.Deferred();

        setTimeout(function(){
            console.log("long func completed");
            deferred.resolve("hello");
        }, 3000);

        return deferred.promise();
    }

    function shortAfterLongFunc(x){
        console.log('short func completed with value: ' + x);
        return {
            a: x
        };
    }

processFurther(longFunc().then(shortAfterLongFunc)); //send the array for further processing

Problem

Ich bin nicht in der Lage, um herauszufinden, wie die Rückkehr der jede Art von Objekt/Funktion für das weitere downstream-processing nach shortAfterLongFunc abgeschlossen. Ich kann Konsole.log von shortAfterLongFunc aber das ist nicht das, was ich benötigen hier.
Fiedel Hier

Dank für das schauen!

UPDATE:

Okay, nur um meine Frage etwas besser...dieses ist ein einfaches zu verwenden, falls ich auf der Suche bin:

$.map(['H','E','L','L', 'O'], somefunc). //for each item in array apply somefunc function

function somefunc(x){ //gets called for each value 'H', 'E' etc. in the array by $.map()
    var longfunc = function(y){
        var deferred = $.Deferred();

        setTimeout(function(){
            console.log("long func completed");
            deferred.resolve(y.toLocaleLowerCase());
        }, 3000);

        return deferred.promise();
    };

    var shortAfterLongFunc = function(x){
        console.log('short func completed with value: ' + x);
        return x;
    }

    //What should I do here
    return longFunc(x).then(shortAfterLongFunc); //must return lower case char to the caller of someFunc

}

somefunc() können sagen, dass Prozesse, die jedes element von Array, um den unteren Fall. Allerdings übernehmen diese Verarbeitung dauert eine lange Zeit und async (denke setTimeout).. damit ein Versprechen, um sicherzustellen, synchrone operation für jedes element...aber über die Verwendung verspreche, dass ich mich nicht in der Lage, die Rückkehr der transformierten Wert

  • Was hat das zu tun mit "Muster", Frage ich mich?
InformationsquelleAutor Vikram | 2014-12-18
Schreibe einen Kommentar