Either an array of [function, config] array pairs to be added or a config object with the shape:
var config = {
schemaName : "assay",
queryName : protocolName + " Data",
containerPath : "/Test",
success: function (data, options, response) {
console.log("selectRows success: " + data.rowCount);
},
failure: function (response, options) {
console.log("selectRows failure");
},
scope: scope // scope to execute success and failure callbacks in.
};
// add the requests and config arguments one by one
var multi = new LABKEY.MultiRequest();
var requestScope = ... // scope to execute the request function in.
multi.add(LABKEY.Query.selectRows, config, requestScope);
multi.add(LABKEY.Query.selectRows, config, requestScope);
multi.add(LABKEY.Query.selectRows, config, requestScope);
multi.send(
function () { console.log("send complete"); },
sendCallbackScope // scope to execute 'send complete' callback in.
);
// additional requests won't be sent while other requests are in progress
multi.add(LABKEY.Query.selectRows, config);
multi.send(function () { console.log("send complete"); }, sendCallbackScope);
// constructor can take an array of requests [function, config] pairs
multi = new LABKEY.MultiRequest([
[ LABKEY.Query.selectRows, config ],
[ LABKEY.Query.selectRows, config ],
[ LABKEY.Query.selectRows, config ]
]);
multi.send();
// constructor can take a config object with listeners and requests.
// if there is a 'done' listener, the requests will be sent immediately.
multi = new LABKEY.MultiRequest({
listeners : { 'done': function () { console.log("send complete"); }, scope: sendCallbackScope },
requests : [ [ LABKEY.Query.selectRows, config ],
[ LABKEY.Query.selectRows, config ],
[ LABKEY.Query.selectRows, config ] ]
});
// Alternate syntax for adding the 'done' event listener.
multi = new LABKEY.MultiRequest({
listeners : {
'done': {
fn: function () { console.log("send complete"); }
scope: sendCallbackScope
}
}
});
Make multiple ajax requests and invokes a callback when all are complete. Requests are added as [function, config] array pairs where the config object is passed as the argument to the request function. The request function's config object argument must accept a success callback named 'success' and a failure callback named 'failure'.