blob: 42e67bcde6513c03aa49a93d68e6285ec388f355 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
---
title: Função Callback
slug: Glossario/Callback_function
translation_of: Glossary/Callback_function
---
<p>Uma função callback é uma função passada a outra função como argumento, que é então invocado dentro da função externa para completar algum tipo de rotina ou ação.</p>
<p>Aqui está um pequeno exemplo:</p>
<pre class="brush: js">function greeting(name) {
alert('Hello ' + name);
}
function processUserInput(callback) {
var name = prompt('Please enter your name.');
callback(name);
}
processUserInput(greeting);</pre>
<p>O exemplo acima é de um {{glossary("synchronous")}} callback, como é executado imediatamente.</p>
<p>Note, no entanto, que callbacks são normalmente utilizados para continuar a execução do código após uma operação {{glossary("asynchronous")}} ser terminada — essas são chamadas asynchronous callbacks. Por exemplo, nosso simples exemplo <a href="https://github.com/mdn/learning-area/blob/master/javascript/apis/introduction/maps-example.html">maps-example.html</a> (veja uma versão "live" aqui) usa o Google Maps API e a API de geolocalização para mostrar em um mapa a localização atual do nosso dispositivo.</p>
<p>Como obter as coordenadas atuais do nosso GPS é uma ação assíncrona (nós não sabemos exatamente quando os dados serão retornados), o método {{domxref("Geolocation.getCurrentPosition()")}} pega um função callback anônima como um parametro, que pega os dados retornados da coordenada como parâmetro. Essa função só é executada quando os dados da coordenada são retornados.</p>
<h2 id="Aprenda_mais">Aprenda mais</h2>
<h3 id="Conhecimento_geral"><strong>Conhecimento geral</strong></h3>
<ul>
<li>{{interwiki("wikipedia", "Callback_(computer_programming)", "Callback")}} no Wikipedia</li>
</ul>
|