我必须执行某段代码,只要if
的值与某个值匹配,我还必须定期检查变量的值,即使在某个时间(maxWaitTime
)之后,值不相等,我也必须停止检查变量的值,并向用户发送消息。
我现在的代码如下:
const intervalId = setInterval(function () {
const localStorageArray = JSON.parse(
localStorage.getItem('myArray') || '[]',
);
if (
!localStorageArray ||
(localStorageArray && localStorageArray[0] === myCurrentVal)
) {
clearInterval(intervalId);
}
}, 1000);
// other code
此处other code
未等待setInterval
中的if
条件就被执行。是否因为setInterval
不在调用堆栈中?如果我说错了,请更正。我必须在setInterval
的if
条件内执行上面的other code
,否则将停止执行(在区间内),直到达到maxWaitTime
。如何实现这一点?
1条答案
按热度按时间brccelvz1#
if (!localStorageArray)
永远不会为真,因此您可以将其删除。试试这个