Новая версия для сценария, в котором обратный вызов будет вызываться какой-то другой функцией, а не вашим собственным кодом, и вы хотите добавить дополнительные параметры.
Например, давайте представим, что у вас многоВложенные вызовы с успешными и ошибочными обратными вызовами.Я буду использовать угловые обещания для этого примера, но любой код javascript с обратными вызовами для этой цели будет таким же.ошибки для целей отладки.Вот как вы должны выполнить рефакторинг своего кода:
someObject.doSomething(param1, function (result1) {
console.log("Got result from doSomething: " + result1);
result.doSomethingElse(param2, function (result2) {
console.log("Got result from doSomethingElse: " + result2);
}, handleError.bind(null, "doSomethingElse"));
}, handleError.bind(null, "doSomething"));
/*
* Log errors, capturing the error of a callback and prepending an id
*/
var handleError = function (id, error) {
var id = id || "";
console.log("Got error from " + id + ": " + error);
};
Вызывающая функция все равно добавит параметр ошибки после параметров вашей функции обратного вызова.