首先,如果我重复一个问题,我首先道歉。我已经搜索过,但没有找到适合我的问题的帽子,这可能是因为我是初学者,所以,如果您找到任何直接链接,请指出我。
现在,在我开始之前,请看下面给出的代码-
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的那一刻,我希望循环再次开始。
我该怎么做?
如果您正在寻找来自服务器的回调响应,则只需使用异步等待或其他基于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