Sempre que se efetua uma integração via chamada rest/ajax é possível configurá-la para que a 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 dois exemplos de chamada remota (uma para ajax e outra para rest):
Ajax
Bloco de código |
---|
|
chamadaRemotaAjax : 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 complete a respeito de sua utilização pode ser encontrada aqui