2015-11-16 47 views
0

我想從鏈接的承諾中返回數據。在下面的情況下,我將如何實現這一目標?從鏈接的承諾中返回數據

僞代碼:

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

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

正在發生的事情是標誌()是不確定的,如果我回到新對象形成第一.then它所有的作品。我希望能夠從第三或第四個鏈接的承諾中返回數據,我如何實現這一目標?

+0

*「發生什麼事是標記()是未定義的」*你確定? –

回答

1

你應該糾正你的function語法&然後你需要使用.then函數,當promise被解析時它會被調用。

代碼

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之一,它可以是依賴的情況下更好的解決方案了。