【发布时间】:2018-07-11 04:57:40
【问题描述】:
我在练习 Express 4.x 并注意到以下几点:
app.get('/fake', function(req, res) {
var obj = [];
for (let i = 0; i < 3; i++) {
jsf.resolve(fakeSchema).then(function(iter) {
obj.push(iter);
});
}
res.send(obj);
});
所以,走这条路,我得到了"[ ]",而我期待收到一组 3 个(假)文档。
仅供参考,在记录每个循环时,我可以清楚地看到生成的文档,甚至在数组内部。
有什么解释吗?
【问题讨论】:
-
jsf.resolve(fakeSchema)返回一个promise,当您尝试返回数组时,promise 可能尚未解析。 -
看看这个。你想要的是等到所有的承诺都得到解决。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
立即将
res.send(obj);放在obj.push(iter);行之后
标签: javascript express callback routes faker