У меня была задача написать функцию
const poKolei = (fun1, fun2, cb) => { ... };
fun1
и fun2
"асинхронны". Функция poKolei должна гарантировать, что fun2
будет выполняться всегда после fun1
, а результаты fun1
будут перенаправлены на fun2
. Функция cb
должна обрабатывать результаты fun2
. Проблема в том, что я не могу использовать обещания и asyn c -wait. Я написал некоторый код, который работает как задумано
const poKolei = (fun1, fun2, cb) => {
fun1([2,3,4,5], function(local) {
fun2(local, function(local) {
cb(local, function() {
});
});
});
};
function funk1(value, callback){
setTimeout(() => {
let x = value.map(n=>n*2);
callback(x);
}, 5000);
}
function funk2(value, callback){
setTimeout(() => {
let x = value.map(n=>n+'a')
callback(x);
}, 500);
}
function funk3(value, callback){
setTimeout(() => {
console.log(value)
callback();
}, 1000);
}
poKolei(funk1, funk2, funk3);
Теперь мне нужно изменить эту функцию на:
const poKoleiTab = (funTab, cb) => { ... };
funtab
- это таблица "asyn c" функций, которые должны обрабатываться так же, как и раньше, но может быть 2 или более функций, и я не знаю, как это сделать