快递与Q延期不响应请求

时间:2016-07-19 14:55:22

标签: javascript node.js express promise q

我正在尝试使用带有角度脚本的节点后端,使用Q来承诺fy fs方法。使用普通的回调方法可以正常工作,但是在这里,没有任何内容返回给Angular。控制台中未打印任何内容,并且控制台或运行节点的终端中未返回任何错误。我错过了什么?

i=11

1 个答案:

答案 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");
    });
});