Возможно ли передать параметр обратного вызова другому методу из самого функционального блока обратного вызова? Пример:Передача функции обратного вызова как параметра из самого себя
var resultCallback = function(result){
if(result)
{
alert('success!');
}else{
callServiceB(resultCallback);
}
}
callServiceA(resultCallback);
Причиной этого является то, я хочу, чтобы тренировки что-то вроде цепочки шаблонов ответственности в JavaScript.
Пробовал поиск в Интернете, но до сих пор ничего не получает. Любая идея или комментарий приветствуются.
Да, вы можете. Ты это пробовал? – Bergi
Однако, как цепочка ответственности ('callServiceB'), так и результирующее действие (' alert ('success!') ') В одной и той же функции представляет собой нечетный/плохой опыт/дизайн запаха. Используйте отдельный обратный вызов для результата. Он может выглядеть так: 'callServiceA (orCallServiceB (alertResult))' или 'либо (callServiceA, callServiceB) (alertResult)' – Bergi
Фактически, в этом случае есть много вызовов другому методу, я упростил его до 2 для краткости. логика аналогична 1. функция вызова a 2. если функция a ok, то функция вызова b 3. если функция b ok, затем вызов функции c и т. д. – ipohfly