Задать вопрос
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 отсутствует).
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Простой 11 комментариев
Решения вопроса 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';
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 18:42
1000 руб./за проект
22 янв. 2025, в 18:00
15000 руб./за проект
22 янв. 2025, в 17:57
2000 руб./в час