O que é retorno de chamada
A cópia do código é a seguinte:
Uma função de retorno de chamada é uma função chamada através de um ponteiro de função. Se você passar no ponteiro (endereço) da função como um argumento para outra função, quando esse ponteiro é usado para chamar a função que aponta, dizemos que esta é uma função de retorno de chamada. A função de retorno de chamada não é chamada diretamente pelo implementador da função, mas é chamada por outra parte quando ocorre um evento ou condição específico e é usado para responder ao evento ou condição.
Esta explicação parece complicada, então encontrei uma explicação melhor sobre Zhihu
A cópia do código é a seguinte:
Você vai a uma loja para comprar coisas, e as coisas que você deseja não estão em estoque, então deixa seu número de telefone com o funcionário. Depois de alguns dias, a loja possui mercadorias e o funcionário ligará para você e você vai à loja para pegar as mercadorias depois de receber a chamada. Neste exemplo, seu número de telefone é chamado de função de retorno de chamada e você deixa o telefone para o funcionário, que é chamado de função de retorno de chamada de registro. Mais tarde, a loja possui ações, que é chamado de evento que desencadeia a Associação de Retorno. O funcionário chama você, chamado de função de retorno de chamada e, quando você vai à loja para pegar as mercadorias, é chamado de evento de retorno de chamada de resposta. A resposta está concluída.
Em JavaScript:
A cópia do código é a seguinte:
A função A é passada como um argumento (referência de função) para outra função B, e esta função B executa a função A. Digamos que a função A seja chamada de função de retorno de chamada. Se não houver nome (expressão de função), ele é chamado de função de retorno de chamada anônimo.
De fato, significa passar a função como um parâmetro.
Javscript Retorno de chamada
Jogue todas as explicações complicadas acima no lixo pode ~ e ver que retorno de chamada é
O que é retorno de chamada
Em jQuery, o método de oculto é provavelmente assim
A cópia do código é a seguinte:
$ (seletor) .hide (velocidade, retorno de chamada)
Ao usá -lo,
A cópia do código é a seguinte:
$ ('#elemento'). Hide (1000, function () {
// Função de retorno de chamada
});
Só precisamos escrever uma função simples dentro
A cópia do código é a seguinte:
$ ('#elemento'). Hide (1000, function () {
console.log ('hide');
});
Há um pequeno comentário nisso: a função de retorno de chamada é executada depois que a animação atual estiver 100% concluída. Então podemos ver o verdadeiro fenômeno. Quando o elemento com elemento de identificação estiver oculto, a ocultação será emitida no console.
Isso significa:
O retorno de chamada é, na verdade, quando uma função é executada, a função que agora é executada é a chamada função de retorno de chamada.
Função de retorno de chamada
Em circunstâncias normais, as funções são executadas em ordem, mas o JavaScript é um idioma orientado a eventos.
A cópia do código é a seguinte:
função hello () {
console.log ('hello');
}
função mundial () {
console.log ('mundo');
}
olá();
mundo();
Portanto, em circunstâncias normais, eles serão executados em sequência, mas quando o evento mundial for executado por um longo tempo.
A cópia do código é a seguinte:
função hello () {
setTimeout (function () {
console.log ('hello');
}, 1000);
}
função mundial () {
console.log ('mundo');
}
olá();
mundo();
Então esse não é o caso neste momento. Neste momento, o mundo será produzido e o olá será produzido, por isso precisamos de retorno de chamada.
Instância de retorno de chamada
Um exemplo simples é o seguinte
A cópia do código é a seguinte:
função add_callback (p1, p2, retorno de chamada) {
var my_number = p1 + p2;
retorno de chamada (my_number);
}
add_callback (5, 15, função (num) {
console.log ("Call" + num);
});
No exemplo, temos uma função de add_callback que recebe três parâmetros: os dois primeiros são dois parâmetros a serem adicionados e o terceiro é a função de retorno de chamada. Quando a função é executada, o resultado da adição é retornado e 'Chamada 20' é emitida no console.