Promise-IO seq,我做错了什么?

时间:2013-03-08 05:43:30

标签: node.js synchronization promise

这可能是一个非常糟糕的问题,但我正在尝试将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

由于

1 个答案:

答案 0 :(得分:2)

发现了这个问题。我错过了function1中的return deferred.promise。上面的例子运作得很好。