我收到以下错误:
ReferenceError: processElement is not defined
当尝试从我的主要异步函数调用此常规函数时。
我正在使用Chrome Puppeteer来获取有关页面元素的信息。可以理解,Puppeteer希望在异步函数中运行,但是我需要在其他函数中进行一些处理,可能是递归的。
我的基本结构是这样:
function processElement(element, index) {
// element processing here, may ultimately need recursion.
}
function async main() {
// puppeteer stuff
const elements = document.querySelectorAll('p');
elements.forEach((element, index) => {
processElement(element, index);
}
}
main();
感谢您的帮助!我是整个异步/等待范例的新手。
答案 0 :(得分:1)
您需要在async
之前使用function
关键字。
function processElement(element, index) {
// element processing here, may ultimately need recursion.
console.log(element);
}
async function main() {
// puppeteer stuff
const elements = document.querySelectorAll('p');
elements.forEach((element, index) => {
processElement(element, index);
});
}
main();
<p>Hello</p>
<p>World</p>