JS как правильно в промисе использовать функции
затертый до дыр вопрос выполнить одну функцию после другой. Очевидный путь - промис, однако вызов функции такого вида func(arg)() не работает.
let myPromise = new Promise
(
(resolve, reject) =>
{
firstFunction(param)();
resolve();
}
);
myPromise.then(secondFunction(param)());
Но, secondFunction не ждёт выполнение первой.
Если поставить таймаут, то всё ОК:
firstFunction(param)();
setTimeout(secondFunction(param)(), 2000);
обе функции возвращают анонимную:
function firstFunction(param)
{
return () =>
{
...
}
}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
myPromise.then(secondFunction(param));
let myPromise = new Promise((resolve, reject) => {
let a = firstFunction(3000000000)();
console.log(a);
resolve();
});
myPromise.then(secondFunction(25));
function firstFunction(param) {
return () => {
let i;
for (i = 0; i < param; i++) {}
return i;
}
}
function secondFunction(param) {
return () => {
console.log(param);
}
}