Очень простой вопрос, я знаю, когда пишу такую асинхронную функцию:
const res = (async () => 'hello')();
console.log(await res);
Он должен записать: "привет".
Но, допустим, я хочу тайм-аут результата внутри моей асинхронной функции, мне пришлось бы создать новое обещание, чтобы я мог обернуть в него тайм-аут обратного вызова, например:
const res = (async () =>
new Promise(resolve =>
setTimeout(
() => resolve('hello'), 1000
)
)
)();
console.log(await res);
Что ж, если async уже возвращает обещание, зачем мне создавать новое обещание внутри функции, которая уже является обещанием, чтобы сделать что-то столь же простое, как это? Я что-то упустил или это действительно так? Разве не было бы лучше, если бы я мог просто сделать что-то подобное по-своему? Это вообще возможно? Например:
const res = (async () =>
setTimeout(
() => resolve('hello'), 1000
)
)();
console.log(await res);
resolve()
функции. - person unional   schedule 12.02.2019