gpt4 book ai didi

javascript - 服务人员 : async await in combination with waituntil is not working properly

转载 作者:数据小太阳 更新时间:2023-10-29 04:45:17 27 4
gpt4 key购买 nike

在使用 async/await 语法时,我正在为 service worker 中的 promises 而苦苦挣扎。
以下情况:我收到推送通知,想处理点击事件。如果我将“旧”语法与 thencatch 一起使用,我可以遍历客户端列表并对其执行一些操作。如果我对 async/await 使用我喜欢的方式,它不会做任何事情。

self.addEventListener("notificationclick", event => {

// is working
event.waitUntil(self.clients.matchAll().then(clientList => {
console.log(clientList);
}));

// is not working
event.waitUntil(async () => {
const clientList = await self.clients.matchAll();
console.log(clientList);
});
});

最佳答案

感谢@Crice 和@Keith,

waitUntil 需要一个 promise 作为参数而不是一个函数。所以这是 async/await 风格的工作示例:

self.addEventListener("notificationclick", event =>
{
event.waitUntil(getClients());
});

async function getClients()
{
const clientList = await self.clients.matchAll();
console.log(clientList);
}

关于javascript - 服务人员 : async await in combination with waituntil is not working properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47319095/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com