我有这样的代码:
- $('li').each(function(){
- var data = $(this).text();
- requestFunction(data,function(status){
- if ( status == 'OK' ) do stuff...
- });
- });
所以,我需要使用函数“requestFunction()”之间做一些延迟.我该怎么办?希望可以理解,谢谢.
解决方法
setTimeout在增加时间:
- $('li').each(function(indexInArray){
- var data = $(this).text();
- setTimeout( function () {
- requestFunction(data,function(status){
- if ( status == 'OK' ) do stuff...
- });
- },indexInArray * 500);
- });
如果您循环使用这些元素,我们希望增加超时时间,否则如果不延迟,则只有在我们的500 ms超时后,所有请求将同时触发.
>时间开始:0 ms>首次请求:0 ms(500 * 0)>第二请求:500 ms(500 * 1)>第三次请求:1000ms(500 * 2)