2017-06-09 4 views
0
Promise.all(events) 
    .then(data => { 
     return events.map(obj => 
      !isEmpty(obj.space) && {space_name: obj.space.name, ...obj} 
     ) 
    }) 
    .then(data => //how to get resolved data of above's then 

    ) 

Ich kann meine Daten nicht von der ersten dann zur zweiten, jeden Schritt verpasse ich verpasst?übergibt Daten von einem dann zu einem anderen Versprechen

+0

In dem Moment, in dem Sie nichts mit dem Ergebnis der 'Promise.all (events)' zu tun scheinen - 'data' in der ersten' .then' ist der aufgelöste Wert davon. Aber Sie tun nichts mit diesem Argument. 'data' in der zweiten' then' wäre das Ergebnis der 'events.map ...' (was ich annehme, da 'events' von Promises gesetzt werden sollte, wird/sollte nicht richtig funktionieren) – DanCouper

+0

Sollte nicht es ist 'data.map' statt' events.map'? –

+0

'wie man aufgelöste Daten von oben dann 'bekommt - das wäre das' Daten'-Argument - dein Problem ist, dass' events.map' fischig aussieht, denn Ereignisse wären eine Reihe von Versprechen, und Versprechen haben normalerweise nicht eine Eigenschaft namens 'space' –

Antwort

0
let p1, p2, promiseArr 
p1 = new Promise((resolve,reject) => { 
    resolve(2) 
}) 
p2 = new Promise((resolve,reject) => { 
    resolve(8) 
}) 
promiseArr = [p1,p2] 
Promise.all(promiseArr) 
    .then(data => 
     data.map(value => 
      value*value 
     ) 
    ) 
    .then(data => 
     console.log(data) 
    ) 

Druckt [4, 64] wie erwartet.

Bitte überprüfen Sie Ihren Code erneut oder senden Sie ein vollständiges Beispiel.

Verwandte Themen