我正在学习异步函数在ES2017中引入的特性,我似乎无法做到以下几点:
async function sayHelloAsync() {
let {autosave} = await browser.storage.local.get('autosave');
if (autosave) {
$('#helloButton').click();
}
}
$(sayHelloAsync);我已经在我的小应用程序中为我的需求找到了一个解决方案,但我想知道为什么这个方法不能工作。一旦我删除了async,它就会像预期的那样工作。我还有其他自定义的事件绑定,它们使用async函数作为回调,它们工作得很好。
我在Linux上使用谷歌Chrome 57。
更新
我更新了代码示例,以消除对加载DOM和jQuery的需求的混淆。
发布于 2021-04-10 23:30:20
似乎OP对他们的问题找到了一个答案,但实际上并不是问题标题的答案。我想在我编写的使用document.ready的Puppeteer脚本中等待jQuery函数。
这就是我是如何做到的,它回答了题为:
您可以将document.ready函数包装在页面准备就绪时解析的承诺中。
//Wrap document ready function in a promise to be able to await it
async domReady() {
let promise = new Promise((resolve, reject) => {
$(document).ready(() => {
resolve("ready");
});
//Any reason for rejection could go here and have a call to reject(error);
});
return promise;
}然后,如果要等待加载文档:
await domReady();
// The rest of your dependant code goes here...https://stackoverflow.com/questions/43473353
复制相似问题