Rozumiem przekazywanie funkcji do innej funkcji jako wywołania zwrotnego i wykonanie jej, ale nie rozumiem najlepszej implementacji, aby to zrobić. Szukam bardzo prosty przykład coś takiego:Lepsze zrozumienie funkcji wywołania zwrotnego w JavaScript
var myCallBackExample = {
myFirstFunction : function(param1, param2, callback) {
// Do something with param1 and param2.
if (arguments.length == 3) {
// Execute callback function.
// What is the "best" way to do this?
}
},
mySecondFunction : function() {
myFirstFunction(false, true, function() {
// When this anonymous function is called, execute it.
});
}
};
W myFirstFunction, jeśli mam wrócić zwrotnego (nowy), to działa i wykonuje funkcję anonimową, ale to nie wydaje się prawidłowe podejście do mnie.
Correct w jakim sensie? Zwykle wywołania zwrotne są używane do obsługi zdarzeń - w szczególności wywołania Ajax, które są asynchroniczne - w zasadzie rzeczy, w których nie wiadomo, kiedy (lub jeśli) pojawi się odpowiedź. – cletus
przy okazji argumenty są tablicowe, ale nie tablicowe, więc nie można zrobić argumentu.length, ale można go przekonwertować na tablicę za pomocą metody slice ... – paul
@paul, chociaż masz rację, że 'argumenty' nie są array, nadal możesz odwoływać się do jego długości jako 'arguments.length' - spróbuj. Ta właściwość odnosi się do liczby argumentów faktycznie przekazanych, a niekoniecznie do liczby parametrów w sygnaturze funkcji. – hotshot309