Я не уверен, что полностью понимаю, что вы ищете.
Вы можете, например, определить функцию, которая обрабатывает результаты события 1, а затем просто передать ссылку на эту функцию вместо записи литерала в месте, где определена ваша цепочка. Если вы используете этот шаблон, вам, вероятно, придется настроить способ передачи параметров от одного события ко второму.
например:.
function handleEvent1() {
// do something
asynchronousEvent2(parameters2, handleEvent2);
}
function handleEvent2() {
// do something
asynchronousEvent3(parameters3, handleEvent3);
}
asyncronousEvent1(parameters1, handleEvent1);
В этом примере ни один из этих обработчиков событий не имеет такого же замыкания, как в исходной реализации, что означает, что вам нужно будет поработать над некоторыми элементами видимости данных.