Utilizzo del nodo 4.x. Quando hai un Promise.all(promises).then()
qual è il modo corretto per risolvere i dati e passarlo al prossimo .then()
?Promise.all(). Then() risolto?
voglio fare qualcosa di simile:
Promise.all(promises).then(function(data){
// Do something with the data here
}).then(function(data){
// Do more stuff here
});
ma non sono sicuro di come ottenere i dati per il 2 ° .then()
. Non riesco a utilizzare resolve(...)
nel primo .then()
. Ho capito che posso fare questo:
return Promise.all(promises).then(function(data){
// Do something with the data here
return data;
}).then(function(data){
// Do more stuff here
});
Ma questo non sembra il modo corretto per farlo ... Qual è l'approccio giusto per questo?
Interessante. Grazie. Quindi non è possibile "rifiutare" un valore dopo la funzione iniziale "Promise"? O lanciare un errore in qualsiasi punto della catena ti porta al '.catch()'? Se questo è il caso, qual è il punto di "rifiutare" in primo luogo? Perché non basta lanciare un errore? Grazie ancora, –
@JakeWilson: Queste sono domande diverse. Ma stai confondendo due cose separate: * Creare * e sistemare la promessa e * gestire * la promessa. Quando crei e stabilisci la promessa, usi 'resolve' e' reject'. Quando si * gestisce *, se l'elaborazione fallisce, si lancia in effetti un'eccezione per attivare il percorso dell'errore.E sì, puoi anche lanciare un'eccezione dal callback 'Promise' originale (piuttosto che usare' reject'), ma non tutti i guasti sono eccezioni. –
Ben spiegato. Grazie ancora –