async await что я делаю не так?
let st = async function () {
try {
let allow = await {
dir1: ["IN"],
dir2: ["ES","KE"],
dir3: ["GT","PE"]
}
let data = await []
await Object.keys(allow).forEach( async dirName => {
const dir = await dirName
await allow[dir].forEach( async geo => {
// let select = await []
return await data.push({
test: 'test'
})
})
})
await console.log(data)
} catch (e) {
console.log(e)
}
}
st()
почему когда я сориентирую строчку // let select = await []
то data становится пустой и за await ?
Ответы (2 шт):
Автор решения: Ивашка
→ Ссылка
await ставится перед асинхронными функциями и промисами. Ставить его перед синхронным кодом как минимум бесполезно
читайте в источнике: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/await
Автор решения: Alexandr
→ Ссылка
await - специальный синтаксис для работы с промисами, который работает только в асинхронных функциях.
async function foo() {
const promise = new Promise((resolve, reject) => {
setTimeout(() => resolve("End"), 1000)
});
const result = await promise; // Ждём выполнение промиса
console.log(result);
}
foo();