2013-03-08 58 views
1

這可能是一個很糟糕的問題,但我試圖在nodeJS中使用Promise-IO。我正在嘗試使用seq功能。我有類似以下的內容。Promise-IO seq,我做錯了什麼?

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

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

在函數1中,我有如下內容。

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

感謝

回答

2

發現的問題。我在函數1中遺漏了一個return deferred.promise。上面的例子非常完美。