Índice
Índice |
---|
maxLevel | 4 |
---|
outline | true |
---|
exclude | .*ndice |
---|
style | none |
---|
|
Objetivo
O objetivo desse guia é apresentar as características das chamadas de métodos síncrona e assíncrona.
Chamada de métodos síncrona vs. assíncrona
Sempre que se efetua uma integração via por chamada restREST/ajax Ajax é possível configurá-la para que sua o widget aguarde , ou não , o término do processamento no servidor. Salvo quando existe a real necessidade de se esperar pelo retorno da chamada, é recomendado que sempre se faça a integração de forma assíncrona. Abaixo estão são apresentados dois exemplos de chamada remota (- uma para ajax Ajax e outra para rest)REST:
...
Ajax
Bloco de código |
---|
|
chamadaRemotachamadaRemotaAjax : function() {
$.ajax({
async: true,
type: "GET",
url: "url-do-servico-a-ser-consumido",
success : function(data) {
// código omitido
},
error: function (msg){
// código omitido
}
});
}
|
Onde:
Elemento | Descrição |
---|
async: | Determina que a chamada seja feita de forma assíncrona (true) ou síncrona (false). |
success: | Código a ser executado quando a função retorna com sucesso. |
error: | Código que tratará eventuais erros no processamento remoto. |
REST
Bloco de código |
---|
|
chamadaRemotaRest : function() {
WCMSpaceAPI.PageService.UPDATEPREFERENCES(
{
async: true,
success: function (data) {
// código omitido
},
fail: function (xhr, message, errorData) {
// código omitido
}
},
this.instanceId,
preferences
);
}
|
Onde:
Elemento | Descrição |
---|
async: | Determina que a chamada seja feita de forma assíncrona (true) ou síncrona (false). |
success: | Código a ser executado quando a função retorna com sucesso. |
fail: | Código que tratará eventuais erros no processamento remoto. |
Componente visual para chamadas assíncronas
Muitas vezes a execução remota de um código demora muito tempo, deixando o usuário com dúvidas sobre o sucesso ou falha do comando enviado ao servidor. Pensando nisso, a plataforma Fluig disponibilizou uma forma para que haja um elemento que visualmente indique que algo está sendo processado. A documentação completa a respeito de sua utilização pode ser encontrada aqui.