Javascript 如何让php在RESTAPI调用之间等待几秒钟

Javascript 如何让php在RESTAPI调用之间等待几秒钟,javascript,php,jquery,ajax,api,Javascript,Php,Jquery,Ajax,Api,我目前正在调用一个返回xml的api!我使用ajax的Api在调用之间需要250毫秒,据我所知ajax会进行异步调用,因此所有调用都会同时发送。如何在调用到达后强制php脚本在调用之间等待250毫秒,然后再发送调用。我尝试在js中使用setTimeout,但没有成功 HTML JS $(“.grid item”)。每个(函数(i){ var项目=[]; var prod_id=$(this.attr('data-grid'); $.ajax({ 键入:“POST”, url:'test.ph

我目前正在调用一个返回xml的api!我使用ajax的Api在调用之间需要250毫秒,据我所知ajax会进行异步调用,因此所有调用都会同时发送。如何在调用到达后强制php脚本在调用之间等待250毫秒,然后再发送调用。我尝试在js中使用setTimeout,但没有成功 HTML


JS

$(“.grid item”)。每个(函数(i){
var项目=[];
var prod_id=$(this.attr('data-grid');
$.ajax({
键入:“POST”,
url:'test.php',
数据类型:“xml”,
数据:{
网格:“集”,
产品标识:产品标识
},
成功:功能(数据){
$(数据)。查找(\\\:库存)。每个(函数(索引、值){
var name=$(this.find('name').html();
var age=$(this.find('age').html();
变量显示=`
${name}
${age}
`;
推({
姓名:姓名,,
年龄:年龄,,
});
$(“[data grid=“”+prod_id+“]”)。追加(显示);
});
控制台日志(项目);
}
});
});
PHP


由于ajax是异步的,您可以通过将超时乘以
.each()
索引来错开ajax请求。在下面的例子中,每个循环的第一次迭代将有500毫秒的超时,第二次是1000毫秒,以此类推

$(".grid-item").each(function(i) {
    setTimeout(function(){
        // add you ajax code here
    },500 * i);
});

由于ajax是异步的,您可以通过将超时乘以
.each()
索引来错开ajax请求。在下面的例子中,每个循环的第一次迭代将有500毫秒的超时,第二次是1000毫秒,以此类推

$(".grid-item").each(function(i) {
    setTimeout(function(){
        // add you ajax code here
    },500 * i);
});

现在还不清楚你想要完成什么。您想让服务器端代码(PHP)等待250毫秒后再给出响应吗?你想让Javascript在每个请求之间等待250毫秒吗?听起来你需要在js中设置超时,因为如果所有ajax请求同时命中php脚本,仍然会导致所有api请求同时触发。Patrick,或者我只想在每次调用api之间等待250毫秒,我试图在服务器端和javascript上实现这一点nothing@Tristan当我在JS中使用settimeout时,它不起作用,因为asynchronous@MikeUistervet每次调用之间的时间要求与请求和响应之间的时间要求非常不同。这就是为什么我要求你们对你们的最终目标保持精确。你们想要实现什么还不清楚。您想让服务器端代码(PHP)等待250毫秒后再给出响应吗?你想让Javascript在每个请求之间等待250毫秒吗?听起来你需要在js中设置超时,因为如果所有ajax请求同时命中php脚本,仍然会导致所有api请求同时触发。Patrick,或者我只想在每次调用api之间等待250毫秒,我试图在服务器端和javascript上实现这一点nothing@Tristan当我在JS中使用settimeout时,它不起作用,因为asynchronous@MikeUistervet每次调用之间的时间要求与请求和响应之间的时间要求非常不同。这就是为什么我要你对你的最终目标保持精确。你是天才,简单但强大的感谢你是天才,简单但强大的感谢