【发布时间】:2014-09-07 20:59:14
【问题描述】:
我将 NodeJS 与 Express 一起使用,并使用 Bluebird 进行承诺。我正在尝试如下承诺 app 对象,但一旦承诺的函数总是抛出错误。部分代码如下:
var express = require('express'),
app = express(),
bodyParser = require('body-parser'),
Promise = require("bluebird");
app.postAsync = Promise.promisify(app.post);
app.postAsync('/api/v1/users/update').then(function(req, res, next) {
// never gets here
})
.catch(function(err) {
console.log("doh!!!");
});
我尝试以同样的效果 promisifyAll。为什么它会失败,有什么方法可以承诺发布/获取?
【问题讨论】:
-
你知道你传递给
app.post的回调应该做什么,什么时候被调用,以及使用什么参数?你不能在这里使用 Promises! -
@Bergi 你说得对,我是个白痴。哎呀。这只是路由服务器端,我什至不知道为什么我认为他试图在这里发起请求。
标签: javascript node.js express promise bluebird