我正在尝试使用带有角度脚本的节点后端,使用Q来承诺fy fs方法。使用普通的回调方法可以正常工作,但是在这里,没有任何内容返回给Angular。控制台中未打印任何内容,并且控制台或运行节点的终端中未返回任何错误。我错过了什么?
i=11
答案 0 :(得分:2)
Express不支持开箱即用的承诺。从处理程序返回一个承诺对它没有任何意义。您仍然需要明确调用res.send
(尽管有modules such a express-promise来缓解此问题)。
这就是你的代码应该是这样的:
app.get('/test', function(req, res){
var promise = Q.ninvoke(FS, "readFile", "gulpfile.js", "utf-8");
promise.then(function (text) {
res.status(200).send(text);
}, function(error) {
console.error(error);
res.status(500).send("oops");
});
});