Имеется 2 обычных функции , f1() и f2(). Вторая должна выполнится после окончания выполнения первой . Правильным ли является решение снизу или есть более короткий путь решения без Promise.resolve()?
Promise.resolve()
.then(f1)
.then(f2)
.catch(error => console.log(error));
Если есть вопрос по порядку выполнения, полагаю, что "обычные функции" - асинхронные, т.е., в том числе, возвращающие promise.
В этом случае предложенный вариант самый короткий и кросс-браузерный.
Есть еще такой.
function f1() {
return new Promise((resolve) => {
setTimeout(() => {
console.log('f1 done');
resolve('f1');
}, 2000);
});
}
function f2() {
return new Promise((resolve) => {
setTimeout(() => {
console.log('f2 done');
resolve('f2')
}, 1000);
});
}
(async () => {
await f1();
await f2();
})()
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости