/ / Bucle con promesas [duplicado] - javascript, node.js

Bucle con promesas [duplicado] - javascript, node.js

Dado el siguiente código:

var arr = ["one", "two"]

for (index in arr) {
console.log("outside promise:", arr[index])

myPromise().then(function(response) {
console.log("inside promise:", arr[index])
})
}

Mi salida:

// outside promise: one
// outside promise: two
// inside promise: one
// inside promise: one

¿Por qué el hackear la salida de la consola dentro de la promesa no "t" a través de valores?

Respuestas

0 para la respuesta № 1

Como @Jaromanda X En el comentario, la salida correcta será:

// outside promise: one
// outside promise: two
// inside promise: TWO
// inside promise: TWO

Dado que las promesas se resolverán cuando el índice ya sea 1, no 0. Si obtiene diferentes resultados en la consola, puede ser stdout Problemas de concurrencia. Intente agregar resultados a la matriz y luego imprímala;

const arr = ["one", "two"];
let results = [];

for (index in arr) {
results.push(`outside promise: ${arr[index]}`)

myPromise().then(function(response) {
results.push(`inside promise: ${arr[index]}`)
})
}

console.dir(results);