await
- это то, что блокирует вас.
await/async
используются для более простого выполнения обещаний.
Что вы говорите на языке:
- print "inside test function"
- wait for this promise to resolve and return me the value it returns
- print "Starting actual work"
но поскольку ваше обещание разрешается через 5 секунд, вторая строка не будет напечатана, если не через 5 секунд.
Пример будет работать ожидаемо, если вы напишите это:
module.exports.tests = async () => {
console.log("inside test function")
(new Promise((resolve: any) => {
setTimeout(resolve, 5000);
})).then(() => console.log("printed after 5 seconds"));
// Do actual work
console.log("Starting actual work");
}
Вот скрипка , чтобы посмотреть, как она работает.