Javascript 为什么Promise.then()中的代码没有被调用?
为什么Promise.then()中的代码没有被调用 我正在用expressjs和bluebird promise编写服务器。当我尝试使用promise.promisify()来promisify函数时,我发现我在promise.then()中编写的代码不起作用。我的代码如下Javascript 为什么Promise.then()中的代码没有被调用?,javascript,node.js,promise,Javascript,Node.js,Promise,为什么Promise.then()中的代码没有被调用 我正在用expressjs和bluebird promise编写服务器。当我尝试使用promise.promisify()来promisify函数时,我发现我在promise.then()中编写的代码不起作用。我的代码如下 var Promise = require('bluebird'); var test = function(req) { console.log('123'); }; var regist=Promise.p
var Promise = require('bluebird');
var test = function(req) {
console.log('123');
};
var regist=Promise.promisify(test);
app.post('/test', function (req, res) {
reg.regist()
.then(function () {
console.log('456');
});
我向“/test”发送了一个请求,但控制台中只显示了123。我如何才能使Promise.then()中的代码正常工作?
promisify
创建一个机制,自动将回调函数作为最后一个参数传递给原始函数。您的函数不接受回调函数,也从不调用回调函数,因此承诺无法解决
如果您的函数不是异步的,那么说明它没有多大意义,但下面介绍了如何做到这一点:
var测试=函数(请求,回调){
console.log('123');
回调();
};
var寄存器=承诺、承诺(测试);
var请求={someProperty:'somevalue'};
登记处(请求)
.然后(函数(){
控制台日志('456');
});代码>
以更好地了解您做出的错误假设,以及您的代码做错了什么