1. setTimeout - не возвращает промис, его бесполезно await.
2. ключевое слово await имеет смысл использовать именно там, где ты что-то ждёшь.(а конкретно исключительно перед промисом или вызовом async функции) Если async функция вызвана без этого ключевого слова - то она просто вызвана, дальнейший код не ждёт асинхронного ответа, независимо от того, что там у ней внутри.
Примерно так должен был выглядеть код:
"use strict";
'esversion: 6';
(async function(){
function procData(val, i){
return new Promise((resolve, reject) => setTimeout(() => {
var ret = i + "\t" + val + " #";
console.log(ret);
resolve(ret)
}, 3000));
}
var arr = [3, 5, "asdf", 8, 0];
for(let n in arr){
await procData(arr[n],n)
}
}())
|