jQuery承诺可以与Ember.RSVP.Promise链接吗?

前端之家收集整理的这篇文章主要介绍了jQuery承诺可以与Ember.RSVP.Promise链接吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要帮助来理解一些承诺逻辑.这是我想要实现的目标 – 使用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

解决方法

我不认为这两个promise实现是可链接的.你想把jquery承诺包装在Ember承诺中.
var requestPromise = new Ember.RSVP.Promise(function(resolve,reject) {
    $.get("/",resolve).fail(reject);
});

JSBin:http://jsbin.com/Ikubiju/1/edit?html,console

猜你在找的jQuery相关文章