alexdeg
@alexdeg
Новатор

Как передать аргументы из callback обратно в функцию?

Предположим, есть функция с callback"ом:

function sum(num1, num2, callback) {
    var res = num1 + num2;
    callback(res);
}

и ее запуск, соответственно:

sum(1, 3, function(result){
    console.log(result);
})

Можно ли в последней функции как-то присвоить переменной result значение, чтобы его можно было в первой функции прочитать? Если к примеру в callback-фунции будет заложена логика, которая может меняться в зависимости от условий и требований и нужно будет влиять на функцию, где эта callback-функция используется, чтобы получилось примерно так:

function sum(num1, num2, callback) {
    var res = num1 + num2;
    callback(res, returnParam);
    // как-то использовать returnParam
}

sum(1, 3, function(result, 'data for returnParam'){
    console.log(result);
})

p.s думаю про массив spread массив у callback (вроде как массивоподобный arguments у callback отсутствует).
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
function sum(num1, num2, callback) {
    let res = num1 + num2;
    let returnParam = callback(res);
    console.log(returnParam);
}

sum(1, 3, function(result){
    console.log(result);
    return 'data for returnParam';
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы