У меня есть две функции, ранее предназначенные для синхронного запуска.
function addOne(recievedInt) {
...some network requests happend...
return recievedInt = receivedInt++;
}
и
function sum(arg1, arg2) {
... do some manipulations...
return arg1 + arg2;
}
Последние оба были изменены на асинхронные с помощью обратных вызовов и выглядят следующим образом: функция
addOne(recievedInt, callback), sum(arg1, arg2, callback)
Теперь мне нужно изменить третьи функции, которые ранее использовали обе функции, с синхронной на асинхронную передачу обратного вызова каждой из них.
function compute(value) {
var c = addOne(value);
var a = sum(value, c) + c;
return a;
}
Моими лучшими решениями были:
function compute(value) {
return addOne(value, function(n1) {
return sum(value, n1, function(n2) {
return n2 + n1;
});
});
}
Это правильная реализация для асинхронной версии на основе обратного вызова?И как его можно конвертировать, используя async / await, генераторы, Promises