의 차이는이 코드가 작동하지만 :Q 약속. .when과 그 때는
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
)을 가진 객체를 보여줍니다. 대신 성공 콜백에서 obj로 이상한 1 숫자가 있습니다 ...
BTW Q 라이브러리에서 .when
과 .then
의 차이점은 무엇입니까?
비동기이기 때문에'setTimeout'에서 실제로 아무것도 반환 할 수 없습니다. 또한 컨텍스트 (그리고 받아 들인 args)에서 'when'이 약속을 래핑하여 'then'이 연결될 수 있도록 콜백을 시작한다는 것이 분명해진다. 약속이 해결되었을 때. – Mathletics