我正在try 在每次递归函数调用之前设置一个延迟.目前,它的回报率为undefined
.问题可能是递归调用的作用域(在setTimeout内,然后).
我试了一下,是这样的:
function delay(ms) {
return new Promise(resolve => {
setTimeout(resolve, ms)
});
}
const checkIfListElementIsRendered = (className) => {
delay(10).then(function (res) {
if (document.getElementsByClassName(className)[0]) {
return true;
}
return checkIfListElementIsRendered(className);
})
}
还有这个:
const checkIfListElementIsRendered = (className) => {
if (document.getElementsByClassName(className)[0]) {
return true;
}
setTimeout(() => {
return checkIfListElementIsRendered(className);
}, 10);
}
如有任何帮助,我们不胜感激!