我可能会在某些时候遗漏某些东西,但我不明白为什么这样做有效:
app.post('/check-setup-auth', function(req, res) {
db.isAuthorizedToInstall()
.then(function(data) {
res.status(200).json(data);
});
});
然而,这不是
app.post('/check-setup-auth', function(req, res) {
db.isAuthorizedToInstall()
.then(res.status(200).json);
});
我期望得到完全相同的东西,但不知何故来自promise的解析数据没有传递给res.json函数;或者没有调用该函数。
我正在使用:
答案 0 :(得分:1)
两个代码之间存在很大差异。
在第一个代码中,res.status(200)
在db.isAuthorizedToInstall()
结束后执行。
在第二个代码中,res.status(200)
在db.isAuthorizedToInstall()
结束之前执行。
res.status(200)
开始写回复的标头。因此,它可以阻止其他一些代码写入响应。
我认为函数是在第二个代码中调用的,但响应的行为却不一样。所以你可能还有其他一些代码打破这个。