我正在尝试使用Promise
库创建新的bluebird
。相同的代码如下:
var promise = new Promise(function(resolve, reject) {
console.log('Promise created');
})
var myPromise = promise.then(function() {
console.log('Then called');
});
setTimeout(function () {
console.log('promise successful');
console.log(myPromise);
}, 3);
但控件永远不会进入then
区块。我还看到promise对象没有任何履行处理程序:
Promise {
_bitField: 0,
_fulfillmentHandler0: undefined,
_rejectionHandler0: undefined,
_promise0: undefined,
_receiver0: undefined }
如何创建承诺并将then
块链接到同一个。
答案 0 :(得分:3)
为了能够使用你创建的Promise,你需要分别通过调用每个函数来解决和/或拒绝你的Promise。
var promise = new Promise(function(resolve, reject)) {
if (someWork) resolve(1);
if (!someWork) reject(2);
}
promise.then(function(data) {
console.log(data); // 1
});
答案 1 :(得分:0)
您需要在resolve()
函数中调用Promise
。