【发布时间】:2018-03-09 00:15:12
【问题描述】:
我正在学习承诺。
app.get('/message',function(req, res){
var promise = new Promise(function(resolve, reject){
resolve("hi");
});
promise.then(function(message){
res.json(message);
})
});
这很好用。
虽然这太简单了。为了写一些“冗长”的东西,我将代码移出app.get() 并尝试从外部函数返回消息......就像这样:
app.get('/message',function(req, res){
var message = message(); // I also tried wrapping this in promise and calling `res.json` in `promise.then()` but no luck
res.json(message);
});
function message(){
var promise = new Promise(function(resolve, reject){
resolve("hi");
});
promise.then(function(message){
return message;
})
}
那么为什么message() 函数中的return 语句不返回消息呢?以及将此类 promising 代码移出我的路由函数的最佳做法是什么?
【问题讨论】:
标签: javascript node.js asynchronous promise