从链式承诺中返回数据

时间:2015-11-16 20:07:14

标签: javascript angularjs

我想从链式承诺中返回数据。在下面的场景中,我将如何实现这一目标?

伪代码:

mark = function(){
        return promiseA
    .then(function(data){ .....})
    .then(function(data){return new OBJECT});
}

steve = function() { mark().SomeProperty}

正在发生的事情是mark()是未定义的,如果我从第一个.then返回新的对象形式这一切都有效。我希望能够从第三个或第一个链式承诺中返回数据,我该如何实现呢?

3 个答案:

答案 0 :(得分:1)

您应该更正Share Project on Github语法&然后你需要使用function函数,当promise得到解决时,它会被调用。

<强>代码

.then

答案 1 :(得分:0)

我认为这就是你的意思

mark().then( res => steve = res.SomeProperty )

答案 2 :(得分:-1)

承诺不会返回任何价值,而是承诺...您可以使用您想要的值设置另一个值。例如:

伪代码:

var mark = '';

promiseA
    .then(function(data) { return data })
    .then(function(data) { mark = new OBJECT });
}

steve = function() { mark.SomeProperty }

在看到@ pankaj-parkar one之前我已经发布了这个答案,根据具体情况,这可能是一个更好的解决方案。