在For循环的每个迭代中等待变量/不确定的时间,直到值更改为止

问题描述 投票:0回答:1

首先,如果我重复一个问题,我首先道歉。我已经搜索过,但没有找到适合我的问题的帽子,这可能是因为我是初学者,所以,如果您找到任何直接链接,请指出我。

现在,在我开始之前,请看下面给出的代码-

 for(let i = 0; i < A.length; i++)  {

if (A[i].innerText === "B"){   

var v =getComputedStyle(A[i],'::after').content !== 'none';
//when  v is  true 
//  wait until v turns to false
//then start the loop again


} 

现在,我希望我的循环停止/暂停,直到v变为false。可能需要5或10秒,甚至25秒,取决于Internet连接和服务器,因此等待时间未知。

此外,我还有另一个条件: 此等待应该在不使用固定计时器的情况下进行,即,我不想在固定时间后再次检查该值以查看该值的变化,我想等待for循环,直到v的值变为false,在它变为false的那一刻,我希望循环再次开始。

我该怎么做?

javascript google-chrome for-loop wait
1个回答
0
投票

如果您正在寻找来自服务器的回调响应,则只需使用异步等待或其他基于Promise的方法。

async-await的示例片段

 async function f() {

  let promise = new Promise((resolve, reject) => {
    setTimeout(() => resolve("done!"), 1000)
  });

  let result = await promise; // wait till the promise resolves (*)

  alert(result); // "done!"
}

根据您的微小代码段,我无法告诉您如何正确编写该函数,因此,如果可以,请显示更多代码或尝试从此处获取的信息中使用异步/等待自己https://javascript.info/async-await

© www.soinside.com 2019 - 2024. All rights reserved.