В чем разница между продолжением и обратным вызовом?

мы просматриваем всю сеть в поисках просветления о продолжениях, и это 'Поразительно, как простейшие объяснения могут настолько запутать программиста JavaScript, как я. Это особенно верно, когда большинство статей объясняют продолжения с помощью кода в Scheme или используют монады.

Теперь, когда я, наконец, думаю, что яЯ понял суть продолжения. Я хотел знать, является ли то, что я знаю, правдой. Если то, что я считаю правдой, на самом деле не так, тоНевежество, а не просветление.

Так вот'Что я знаю:

Почти во всех языках функции явно возвращают значения (и контролируют) их вызывающей стороне. Например:

var sum = add(2, 3);

console.log(sum);

function add(x, y) {
    return x + y;
}

Теперь в языке с функциями первого класса мы можем передать управляющее и возвращаемое значение обратному вызову вместо явного возврата вызывающей стороне:

add(2, 3, function (sum) {
    console.log(sum);
});

function add(x, y, cont) {
    cont(x + y);
}

Таким образом, вместо возврата значения из функции мы продолжаем с другой функцией. Поэтому эта функция называется продолжением первой.

И что'Разница между продолжением и обратным вызовом?

Ответы на вопрос(3)

Ваш ответ на вопрос