0
我試圖使用express來承諾但我無法使其工作。 當我取消(1)
我可以設置響應爲200,但無論我嘗試設置爲承諾響應(2,3,4)
它總是返回401
使用帶有承諾的Express.js端點
我可以console.log
data
在then
這樣的承諾是一定解決,但我相信,401
被髮送,因爲函數不等待promise來解決是嗎?
我做錯了什麼,我如何設定答覆?
在此先感謝!
app.get('/get_data', function (req, res) {
//res.json(200, {}); return; --> (1) gives expected 200
tree.getData(req.param('ids'))
.then(function (data) {
// console.log('data'); --> (2) logs requested array of data
//return res.json(200,{}); --> (3) gives 401
return res.send(data); // --> (4) gives 401
}).fail(function (err) {
// never goes here
console.log(err);
return res.json(550, err);
});
});
是否應該'.catch',而不是'.fail'? –
你想要'401'來調用'.fail'方法嗎? –
@JoshC。我希望能夠從'then'方法發送任何響應,但現在我不能在'then'中設置'200'而忽略它(並且它會轉到'then') –