いくつかの約束のロジックを理解するのに助けが必要です。これが私が達成したいことです-jQueryを使用してリクエストを取得し、それをいくつかのチェックを行う約束、私のコードでチェーンします:
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 は動作します: