我試着去了解諾言。但在這裏我很困惑。 我想要創建一個測試功能,在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