【发布时间】:2016-04-30 11:48:26
【问题描述】:
所以我看到 Promise.defer 现在已弃用,我们现在应该使用 new Promise 代替。但是对于此示例,我看不到如何执行此操作?
var Promise = require('bluebird');
var interval;
var rollDice = function (resolver) {
console.log("rolling");
if (Math.floor(Math.random() * 10) == 7) {
clearInterval(interval);
resolver.resolve();
}
}
var rollTill7 = function (ms) {
var resolver = Promise.defer();
interval = setInterval(function(){rollDice(resolver);},ms);
return resolver.promise;
}
rollTill7(100).then(function(){
console.log("rolled a 7");
});
【问题讨论】: