繁体   English   中英

在 chrome 扩展的按钮 EventListener 内调用异步 function

[英]Calling an async function inside a button EventListener of a chrome extention

我正在尝试在事件侦听器中调用异步参数。 第一个控制台日志确实显示没有问题,但第二个没有。

编码:

let btn2 = document.getElementById("btn2");
btn2.addEventListener('click', event => {
    console.log('Clicked on 2 btn update prices ');
    (async () => {
        console.log('Clicked on 2 btn update prices crossed ');
        let productslist = await enumStorage();
        const Email = await chrome.storage.local.get(['Email']);
        console.log(await enumStorageAll());
        
        //console.log(values.Link.length);
        for (let i = 0; i < productslist.length; i++) {
            //console.log(values.Link.length);
            let values = productslist[i];
            var url = 

            console.log(url);

            
            fetch(url)
                .then(response => {
                    result = response;
                    if ("Image" in result) {
                        UpdateRows(values, pricewithlink, shops, i)
                        
                    }
                    // handle the response
                })
                .catch(error => {
                    console.log(error)
                    // handle the error
                });

        }

    })

});

由于您的 function 是匿名的(未命名),因此您需要在声明后立即调用它。

(async () => {
    ... 
})();

这是调用此类函数的正确方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM