javascript - 如何将变量传递到使用 Puppeteer 评估异步函数的评估函数中?

标签 javascript node.js async-await puppeteer

我正在使用 Puppeteer。传递的变量不起作用。我需要在浏览器上下文中使用此变量。这是代码的精简版本:

let currentPost = 1;

await page.evaluate(async (currentPost) => {
    await new Promise((currentPost, resolve, reject) => {
        
        var timer = setInterval(() => {

            console.log(currentPost);
            resolve();
            
        }, 100);

    }); 

}, currentPost); 

最佳答案

Promise 接受两个参数:resolve 和reject。删除当前的 Post arg,它将按预期工作。

let currentPost = 1;

await page.evaluate(async (currentPost) => {
    await new Promise((resolve, reject) => {
        
        var timer = setInterval(() => {

            console.log(currentPost);
            resolve();
            
        }, 100);

    }); 

}, currentPost); 

关于javascript - 如何将变量传递到使用 Puppeteer 评估异步函数的评估函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67589757/

相关文章:

javascript - 循环中的异步调用延迟

javascript - 如何对并排放置的两个表进行排序,以便一个中的更改反射(reflect)在另一个中

javascript - mongoose 库需要 json,但无法从 Nodejs 生成动态的

node.js - gruntjs 路径过滤器 : exclude files start with _

c# - 异步等待不起作用。为什么?

c# - 让任务在控制台应用程序的后台永久运行

javascript - React如何在生命周期方法中处理对象严格相等

javascript - 如何在 Bootstrap 中更改面板的折叠方向

node.js - 为什么 NodeJS 域文档代码尝试终止该进程?

javascript - 捕获地理位置错误 - 异步等待