Pergunta

Definição de chamada de retorno:

Uma função que é definida como uma propriedade dentro de um componente. E, geralmente é chamado quando algum evento ocorre no componente.

Por exemplo:

Se você deseja exibir um diálogo que lê "I foi clicado" quando o usuário clica no componente componentB , você deve escrever um método armazenado como uma variável que faz isso:

var mouseDownCallbackFunction = function() {
    alert("I was clicked!");
};

Avançar , você definiria essa função dentro do componente assim ...

// Set the Component to display the dialog when the 
// user presses the mouse down on it.
componentB.setMouseDownCallback(mouseDownCallbackFunction);

E isso faria com que mouseDownCallbackFunction para exibir "I foi clicado" em uma caixa de alerta quando o componente foi clicado.

Foi útil?

Solução

Em C, que seria um callback válido. No entanto, eu não estou tão familiarizado com JavaScript para dizer se é ou não, porque eu não tenho certeza como as variáveis ??são tratados com respeito às suas posições de memória.

Em C / C ++, você poderia declarar um ponteiro nulo:

void aFunction()
{
     do stuff
}

int main()
{
    void* myCallback = &aFunction; 
    componentB.setMouseDownCallback(myCallback);
}

trabalho seria.

No entanto, apesar da minha falta de conhecimento JavaScript, eu sei que

componentB.setMouseDownCallback(function() {
        alert("I was clicked!");
        };
);

é válido também.

Editar acrescentou um não com a segunda frase: "Eu não sou tão familar"

Outras dicas

Sim, isso está descrevendo a definição exata de um callback ...

Em JavaScript, tecnicamente, isso é uma fechamento , uma vez que pode ligar-se a quaisquer variáveis ??no escopo que são referenciados.

Mas fechamentos são apenas uma forma melhor de retorno de chamada, então sim que é uma chamada de retorno. Uma chamada de retorno em C é mais primitiva, proporcionando apenas uma referência ponteiro para uma função digitada, sem ligação a qualquer contexto.

Sim, um callback é uma função que é definida em um nível superior ao que é chamado. O seu código de cliente cria a função, em seguida, passa-lo como um parâmetro para componentB, para componentB chamá-lo mais tarde.

Sim, isso é uma chamada de retorno.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top