我试着去了解诺言。但在这里我很困惑。 我想要创建一个测试功能,在3秒后打印3000,然后在2秒后打印2000,然后在1秒后打印1000。这里是我的代码:有人可以为我解释下面的代码吗?
'use strict';
var Q = require('q');
function delayConsole(timeOut) {
var defer = Q.defer();
setTimeout(function(){
console.log(timeOut);
defer.resolve(2000);
},timeOut);
return defer.promise;
}
// This works
delayConsole(3000).then(function(){
return delayConsole(2000);
}).then(function(){
return delayConsole(1000);
});
// This doesn't work. Why?
delayConsole(3000).then(delayConsole(2000)).then(delayConsole(1000));
可能值得一提的是Q带有'.delay'功能。 – 2014-09-29 08:40:41
这解释了很多。谢谢 – eeandrew 2014-09-29 08:41:44