8

いくつかの約束のロジックを理解するのに助けが必要です。これが私が達成したいことです-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 は動作します:

http://jsbin.com/iMUgiDo/1/edit

4

1 に答える 1