2015-11-16 4 views
0

Я хотел бы вернуть данные из привязанного обещания. В приведенном ниже сценарии, как я могу это достичь?Возвращаемые данные из цепочки обещаний

псевдокод:

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

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

Происходящий знак() не определен, если я вернусь новый объект образует первый .then все это работает. Я хочу, чтобы иметь возможность возвращать данные из третьего или лихорадочного обещания, как я могу это достичь?

+0

* «Что происходит, это знак() не определен» * вы уверены? –

ответ

1

Вы должны исправить свой function синтаксис &, тогда вам нужно использовать функцию .then, которая будет вызвана, когда обещание будет разрешено.

Код

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

mark().then(function(data){ 
    steve = data.SomeProperty; 
}); 
0

Я думаю, что это то, что вы имеете в виду

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

обещание не возвращает никакого значения, но обещание ... Вы, чтобы установить другое значение с значение, которое вы хотите. Например:

псевдокод:

var mark = ''; 

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

steve = function() { mark.SomeProperty } 

Я отправил этот ответ прежде, чем видеть @ Панкай-Parkar один, который может быть лучшим решением в зависимости от корпуса.

Смежные вопросы