o数据服务呼叫顺序

时间:2019-04-16 14:11:43

标签: javascript asynchronous service odata

如何向50个记录中的一个顺序向aData服务发出异步请求。

 (function () {
    // Multiple api calls
    var oData = "http://localhost:8888/Clinics";
    fetch(oData)
        .then(response => {
            return response.json();
        }).then(data => {
            var nextLink = data['@@odata.nextLink'];
            console.log(data);

        }).catch(err => {
            console.log(err);
        });


})();

我想恢复以前的数据后再打下一个电话。想法是分部分显示数据。我的代码返回前50条记录,下一条链接成功。我想知道如何有效地发出下一个顺序请求。

1 个答案:

答案 0 :(得分:0)

我设法实现了递归调用函数的结果。我敢肯定,有一种更有效的方法可以达到相同的结果。

function oDataCall(nextLink) {
    oData = nextLink;
        fetch(oData)
            .then(response => {
                return response.json();                   
            }).then(data => {
                console.log(data);
                nextDataLink = data['@@odata.nextLink'];
                if (typeof nextDataLink === "undefined") {
                    eod = true;
                } else {
                    console.log(nextDataLink);
                    oDataCall(nextDataLink);
                }                      

            }).catch(err => {
                console.log("error: ", err);
            });       

}      

oDataCall("http://localhost:8888/Clinics");