gpt4 book ai didi

javascript - 延迟和 ajax 和排队功能

转载 作者:行者123 更新时间:2023-11-29 17:09:21 24 4
gpt4 key购买 nike

我正在实现一个各种信息的队列系统。当它达到一定数量时,我发送一个ajax请求....用户输入数据,当它达到一定数量时我发送它。但是,用户仍然可以输入数据。我不想失去它.. 所以,我在想我可以使用 $.Deferred/promise,同时将数据存储到某个点.. 触发 ajax,并且只允许前一个延迟成功时的新请求...另外,如果输入的数据增加到我必须再次发送它的程度,我会查询它..

我很难思考如何实现的方法。

===>捕获数据

=======>输入了'n'条数据

=============> 将该数据移动到“就绪”存储桶中。 (任意,让用户输入 10 个输入字段,然后我将其存储到一个数组中。当数组达到 10.. boom 发送它)。

=============> 用 10 个项目触发 ajax

与此同时,用户仍然可以输入数据。我想确保我仍然捕获它并在 10 点继续排队和发送。

我在考虑一个带有延迟的排队系统。不确定我是不是想多了。

最佳答案

因为 $.ajax() 返回的 jqXHR 对象是一个 Promise,所以可以使用。

var data = {
// captured data goes here
};

function sendData( val ){
// jqXHR object (which contains a promise)
return $.ajax('/foo/', {
data: { value: val },
dataType: 'json',
success: function( resp ){
// do whatever needed
}
});
}

function when(){
$.when(sendData(data)).done(function (resp) {
when();
});
}

when(); // use this within the if switch

DEMO

关于javascript - 延迟和 ajax 和排队功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22726734/

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