javascript - Efficient way to long poll in jquery -
i beginner in javascript , jquery , looking efficient way long poll in jquery. came across piece of code , puzzled attribute complete: . aware of use of 'complete' piece of code result in recursive function call?
(function poll(){ $.ajax({ url: "server", success: function(data){ //update dashboard gauge salesgauge.setvalue(data.value); }, datatype: "json", complete: poll, timeout: 30000 }); })();
thanks in advance. :)
you can avoid recursion using short timeout ensure current call stack clears:
(function poll(){ $.ajax({ url: "server", success: function(data){ //update dashboard gauge salesgauge.setvalue(data.value); }, datatype: "json", complete: function () { settimeout(poll, 0); }, timeout: 30000 }); })();
this execute poll
(probably) next event after current execution clears. in other words, jquery execute complete
callback , return until it's out of onreadystatechange
callback, @ point javascript runtime execute poll
again (unless different event came in , got onto event queue first, of course).
Comments
Post a Comment