jquery - Multiple $.getJSON requests return differently within promise -



jquery - Multiple $.getJSON requests return differently within promise -

i have next code:

var areq = $.getjson('/path/a'), breq = $.getjson('/path/b'); $.when(areq, breq).then(function(a, b) { console.log(a, b); // logs: [array[5], "success", object], [array[20], "success", object] });

why wrapped in "jqxhr array"?

with single $.getjson doesn't happen:

var areq = $.getjson('/path/a'); $.when(areq).then(function(a) { console.log(a); // logs: [object, object, object, object, object] // wanted in first version });

is there way accomplish first version works? maybe understood wrong promises/deferred objects.

fwiw: using jquery version 1.7.1 in case.

this documented in api intended behavior: http://api.jquery.com/jquery.when/

if wasn't returned in array, how homecoming different results each passed in promise considering each passed in promise have multiple arguments returned?

from documentation:

if single argument passed jquery.when , not deferred or promise, treated resolved deferred , donecallbacks attached executed immediately. donecallbacks passed original argument. in case failcallbacks might set never called since deferred never rejected.

in case multiple deferred objects passed jquery.when, method returns promise new "master" deferred object tracks aggregate state of deferreds has been passed. method resolve master deferred deferreds resolve, or reject master deferred 1 of deferreds rejected. if master deferred resolved, passed resolved values of deferreds passed jquery.when. example, when deferreds jquery.ajax() requests, arguments jqxhr objects requests, in order given in argument list.

jquery jquery-deferred promise

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -