我虽然这段代码会起作用:
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...');
});
Run Code Online (Sandbox Code Playgroud)
我的想法是:当setTimeout在4秒后完成其工作时,Q库将在第一个回调中捕获返回并显示具有两个属性的对象:newVal : 4和message : 'it just to be a ' + 400.相反,我在成功回调中有一个奇怪的1号作为obj ...
BT 在Q库.when和.thenQ库之间有什么区别?