3
我有与猫鼬这我试图从回调来重写承诺创建一个对象服务的方法:的NodeJS - 蓝鸟promise.resolve(值)是未定义
var Booking = require("../models/booking");
var Promise = require('bluebird');
var notificationEmitter = require('../events/notificationEmitter').NotificationEmitter;
exports.createBooking = function(/* many arguments */){
var booking = new Booking();
... omitted details of adding to booking object...
booking.save().then(function(booking){
notificationEmitter.emit('createdBooking', booking);
return Promise.resolve(booking);
}).catch(function(err){
return Promise.reject(err);
});
};
而且在我的单元测试:
bookingService.createBooking(/* all the required values */)
.then(function(booking){
assert.notEqual(booking, null);
done();
}).catch(function(err){
console.log(err);
assert.fail();
done();
});
不过,我不断收到错误:
TypeError: Cannot call method 'then' of undefined
从我的单元测试。我已调试并且最后一行命中为
return Promise.resolve(booking);
为什么我没有收到退还的承诺?
打开警告!蓝鸟会为你找到这些错误。 –