之間的區別我雖然這代碼將工作:Q諾。 。當和。然後
var promise = function(val) {
var _val = val;
return setTimeout(function(_val) {
var newVal = val/10;
return {
newVal : newVal,
message : 'it just to be a ' + val
};
}, 3000);
};
Q.when(promise(400)).then(function(obj) {
return console.log('jaaaaj !', obj);
}, function() {
return console.log('no yet...');
});
我的想法是一樣:四秒後,當setTimeout的完成自己的工作,Q庫將趕上第一個回調回報並顯示具有兩個屬性的對象:newVal : 4
和message : 'it just to be a ' + 400
。相反,我有奇怪的1號作爲OBJ成功回調...
BTW有什麼區別.when
和.then
Q庫?
你實際上不能從'setTimeout'返回任何東西,因爲它是異步的。此外,從上下文(以及來自公認的參數)應該清楚的是,「什麼時候」包裝了一個承諾,以便它可以與「then」鏈接,從而觸發回調 - 當承諾得到解決時。 – Mathletics 2014-09-01 23:04:00