gpt4 book ai didi

javascript - 将多个 ajax 调用合并为一个 ajax 调用 - 排序/分页

转载 作者:行者123 更新时间:2023-12-03 05:28:46 24 4
gpt4 key购买 nike

假设我有显示的数据表
1. 电子邮件 2. 文档 3.链接

我使用三种不同的 API 调用来在一个列表中显示所有这些内容,并进行排序/分页/搜索等。

result = api/getEmails
result1 = api/getdocs
result2 = api/getlinks

如何通过服务器端分页和排序在一个数据表中显示所有三个列表?

问题在于分页和排序 - 根据所有三个 API。

我是在客户端完成的,从 3 个 API 获取所有数据并将其传递给 Jquery Datatable,然后 Jquery Datatable 处理排序/分页,但是当数据数量增加时,页面会卡住。

最佳答案

每个 api 调用都可以添加为 promise ,如下所示:

var Promise = require('promise') // you need to get the npm library


// getAPI is your ajax call
function getApi(params, callback) {
// make ajax and use callback on the result
}

var promises = [];

// create promise - run this as many times as you need
var promise = new Promise(function (resolve, reject) {
getApi(params, function (result) {
// you can also add error handling of course
resolve(result)
})
})
promises.push(promise);

// resolve all promises in the array, refer to the docs here
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

new Promise.all(promises).then(function (results) {
// results is an array of all the results in your promises array
// in the order you put them in
});

关于javascript - 将多个 ajax 调用合并为一个 ajax 调用 - 排序/分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41046367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com