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