我需要帮助理解有关 Promise 的一些逻辑。以下是我想要实现的内容 - 使用 jQuery 进行 get 请求,然后将其与我的 promise 链接起来进行一些检查,我的代码如下:
http://jsbin.com/UVEpurU/1/edit
function checkInfoPromise(r) {
var ok = true,
promise = Ember.RSVP.Promise(function(resolve, reject) {
if(ok) {
return resolve(r);
}
else {
return reject(r);
}
});
return promise;
}
var requestPromise = $.get('/')
.then(function(r){
return checkInfoPromise(r);
});
requestPromise.then(function(r) {
console.log(r);
}).fail(function(r) {
console.log('fail');
});
它不能按照我期望的工作。文档说它们应该能很好地协同工作,但它们不是这样,或者我的代码是错误的。
使用jQuery+jQuery相同的逻辑可以正常工作:
http://jsbin.com/AYeyaxO/1/edit
而Ember + Ember可以使用: