1

这可能是一个糟糕的问题,但我正在尝试将 Promise-IO 与 nodeJS 一起使用。我正在尝试使用 seq 函数。我有以下类似的东西。

seq = require("promised-io/promise").seq,

var functions= new Array(function1, function2);
seq(functions, startingDataObject)

在function1中,我有如下内容。

function function1(startingDataObject) {

    var deferred = new Deferred();
    when(function3(startingDataObject),
        function (returnedData) {
            //Some logic
            deferred.resolve(returnedData);
        },
        function (err) {
            console.log(err);
            throw err;
        });
    deferred.promise;
}

我看到发生的是function2在deferred.promise之后立即被解雇。我不确定我的谷歌技能是否缺乏,但我似乎没有看到很多关于如何使用这种方法的例子。所以我的问题是如何使用 Promise-IO 进行同步顺序调用。

https://github.com/kriszyp/promised-io#seq

谢谢

4

1 回答 1

2

发现问题。我错过了 function1 中的 return deferred.promise。上面的示例完美运行。

于 2013-03-08T06:29:47.593 回答