() => {
await setTimeout(() => console.log('time'),2000)
console.log('result'); // "resolved"
})()
выводит сначала «результат», а потом «тайм»
https://www.typescriptlang.org/play?#code/BQQwzgngdgxgBMAlHAvAPjgbwFBzjAeyjABc4AnAUzAFcAbMlOEAdxAEsyxKSAVdgLaUCNEsCSoMhYgTqUAdHQIBzYAHISgymsQAaAEwAGY4lz4iYWQqWq1VWgx0BuOAHpXcAET3ZAN0oAJp7YAL6ISNhmQA
Так setTimeout не промис же возвращает
Можно new Promise и через 2 секунды резолвнуть, потом уже к промису можно await
(async () => { const data = await new Promise((resolve) => setTimeout(() => resolve('time'), 2000)); console.log(data) })()
Обсуждают сегодня