0
我正在重構使用Seq一些Node.js的代碼,並從文檔和this answer,我得到我使用this()
就移動到下一個.seq()
,但我如何傳遞一個變量到下一個.seq()
「 s功能?如何使用Seq將變量傳遞給下一個.seq?
這是我到目前爲止已經試過:
$()
.seq(function() {
User.findById(req.user._id, this);
})
.seq(function(user) {
if (!user) { return res.json(400, {'user': 'User not found.'}); }
var data = req.body;
saveData(data, user, true);
this();
})
.seq(function(data) {
return res.json(data);
})
.catch(next);
第一.seq()
向右移動沒有任何this()
呼叫,但第二.seq()
不會移動到下一個,除非我打電話this()
。但是,在達到最後的.seq
時,data
現在爲undefined
。因此,我嘗試這樣做:
[...]
saveData(data, user, true);
this(data); //Added "data" here
[...]
但是,相反,會導致錯誤(我一直無法追查什麼樣的錯誤呢,雖然,因爲它在某種程度上被髮送到設置ErrorHandler功能似乎隱藏了錯誤)。我應該怎麼做呢?
鑑於'this'似乎是一個nodeback,嘗試'這個(空,數據)'。但是如果'saveData'完全不是異步的,那麼就沒有理由把'res.json(data)'放在自己的回調中。 – Bergi
工作!沒有直接解決我的問題,但它導致了一條固定它的鏈條。 :)如果你把這個作爲答案,我會很高興接受它。 –
done ...注意如果你自己找到了解決方案,你可以[自己發佈一個答案](http://stackoverflow.com/help/self-answer);特別是如果它更完整 – Bergi