Javascript按条件循环添加延迟

时间:2018-12-06 09:33:03

标签: javascript

这是我的代码

var count = 1;

for (var key in result.data) {
    if (count == 10) {
        // I want to delay 1 second here
    }

    var value = result.data[key];
    generate(key, value);
    count++;
}

如您所见,我遍历result.data并添加了count以确定何时添加延迟。
我只想在count == 10时在此循环中添加1秒的延迟,如图所示。

5 个答案:

答案 0 :(得分:2)

您可以使用async / await暂停一秒钟。这样。

(async () => {

    let count = 1;

    const array = [1,2,3,4,5,6,7,8,1,2,3,4,5];

    for (let key in array) {

        if (count === 10) {

            await new Promise((resolve) => {

                console.log('Paused for 1 sec');

                setTimeout(() => {
                    console.log('Continued');
                    resolve();
                }, 1000);
            });
        }

        console.log(key);

        count++;
    }
})();

答案 1 :(得分:0)

也许可以帮助您:

function delay(functionToDelay, ms) {
return function() {
  var savedThis = this;
  var savedArguments = arguments;

  setTimeout(function() {
    functionToDelay.apply(savedThis, savedArguments);
  }, ms);
  };
}

第一个参数-您要延迟的功能。 秒-毫秒

答案 2 :(得分:0)

我假设您想在generate为10时1秒后调用count函数。

您可以像这样使用setTimeout

var result = {
    data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
}

var count = 1;

for (let key in result.data) {
    if (count == 10) {
        setTimeout(() => generate(key, result.data[key]), 1000)
    } else {
        generate(key, result.data[key])
    }

    count++;
}

function generate(key, value) {
    console.log(value);
}

答案 3 :(得分:-1)

您需要的是setTimeout()

您的代码将如下所示:

var count = 1;

for (var key in result.data) {
    if (count == 10) {
        // I want to delay 1 second here
        setTimeout(function(){ alert("1 second delay!"); }, 1000);
    }

    var value = result.data[key];
    generate(key, value);
    count++;
}

答案 4 :(得分:-1)

下面您可以找到可用的示例。

PS:编辑

df.C = df.C.str.replace('System:.*','')
df.C
# 0                                           Blablabla 
# 1    my address: 101-102 bd Charles de Gaulle 75001...
# 2                                      my name is Liam
# 3                                        Hello George!
# 4                                                     
# Name: C, dtype: object