Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Certificar-me que uma função de JS está disponivel para ser chamada

$
0
0
Tenho uma função principal, no final da qual é chamada uma outra de callback, que é passada como parâmetro da principal.
Como a callback pode ser qualquer outra função, antes de a chamar eu quero certificar-me que ela existe e está disponível para ser executada, para não provocar erros de JS.
Andei às voltas no Google e descobri que isso é feito com typeof funcaoCallback==='function'. Então:

Código :
function principal( parametro , funcaoCallback ){

    alert('vou começar o script');

    if ( typeof funcaoCallback === 'function' ){
            alert('existe');
            funcaoCallback();
            }
    else{alert('não existe essa função de callback, ou não foi indicada uma.');}

    alert ('terminou');
    }

Agora os pormenores:
1) se eu não passar à função principal o nome de uma função de callback para executar, o script alerta sobre o erro e corre tudo como esperado
2) se eu passar o nome da função e ela existir, também corre tudo bem.
3) se eu passar o nome da função mas ela não existir, há um erro de JS que eu não conseguir determinar, e nada do que está na função principal é executado.

Ora, isto não é um grande problema se eu estiver a chamar funções de JS que estão no meu código, porque a presença delas depende de mim. Mas, e se elas estiverem fora da minha plataforma?

Em todo o caso, gostava de saber o que é que estou a fazer mal.

Viewing all articles
Browse latest Browse all 14700