jquery - How to get value from function one with deferred object into function two? -
i've been able implement deferred object, trying access value first function within second function.
i'm not sure if i'm not understanding should returning in functionone(), or if deferred objects aren't designed work in way.
how access results functionone()'s getjson() in second function?
function functionone(x, y) { var r = $.deferred(); $.getjson("/my_path", { k1: x, k2: y, format: 'json' }, function (results) { }); settimeout(function () { r.resolve(); }, 2500); return r; } $(document).ready(function () { functionone(x, y).done(function (results) { // how access keys functionone's getjson results? var myvar1 = results.great_key_1; var myvar2 = results.great_key_2; }); });
just return promise returned $.ajax
function functionone(x, y) { return $.getjson("/my_path", { k1: x, k2: y, format: 'json' }); } your version bit of anti-pattern see work need pass in ajax results resolve(). showing since have delay implemented , able see full effect of delay. otherwise should use first version
function functionone(x, y) { var r = $.deferred(); $.getjson("/my_path", { k1: x, k2: y, format: 'json' }, function (results) { settimeout(function () { r.resolve(results);// resolve data }, 2500); }); return r.promise; }
Comments
Post a Comment