jump to navigation

always return deferred resolved July 28, 2014

Posted by juanpablo1manrique in SharePoint2013.
Tags: , ,
add a comment

En jquery existen las promesas,

Te prometo que te llevo a miami .. jejeje

ante dudas con el tema
http://joseoncode.com/2011/09/26/a-walkthrough-jquery-deferred-and-promise/

function getPrintingStatus(){
var deferred = $.Deferred();
if {isNecesaryPrint}
{
$.post(
“/echo/json/”,
{
json: JSON.stringify( {status: Math.floor(Math.random()*8+1)} ),
delay: 2
}
).done(function(s){
deferred.resolve(s.status);
}).fail(deferred.reject);
return d.promise();
}
else {
return null;
}
}

Es decir si no es necesario imprimir no me prometa nada, digame que no,

si se envia un null y la capa superiro esperaba un deferred se arroja un error o se estanca el proseso porque la promesa nunca se cumplio, entonces hay que decir que si.

return $.when()

or

var deferred = $.Deferred().resolve();
return deferred.promise();

es decir queda como

function getPrintingStatus(){
var deferred = $.Deferred();
if {isNecesaryPrint}
{
$.post(
“/echo/json/”,
{
json: JSON.stringify( {status: Math.floor(Math.random()*8+1)} ),
delay: 2
}
).done(function(s){
deferred.resolve(s.status);
}).fail(deferred.reject);
return d.promise();
}
else {
return $.when()
}
}

Saludos