@labkey/api
    Preparing search index...

    Function MultiRequest

    • 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'.

      Parameters

      • config: any

        Either an array of [function, config] array pairs to be added or a config object with the shape:

        • listeners: a config object containing event handlers.
        • requests: an array of [function, config] array pairs to be added.
        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
        }
        }
        });

      Returns any