Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获类型错误:self.showLocalNotificationWrap不是函数_Javascript_Jquery_Async Await_Web Push - Fatal编程技术网

Javascript 未捕获类型错误:self.showLocalNotificationWrap不是函数

Javascript 未捕获类型错误:self.showLocalNotificationWrap不是函数,javascript,jquery,async-await,web-push,Javascript,Jquery,Async Await,Web Push,因此,我尝试使用web推送发送通知,但它不起作用。 我看到事件已收到,但未显示通知 以下是my service worker中“推送”事件的代码: self.addEventListener('push',异步(事件)=>{ log(“Push received data-”,event.data.text()); const pushData=wait event.data.text(); 让数据、标题、正文; 试一试{ data=wait JSON.parse(pushData); titl

因此,我尝试使用web推送发送通知,但它不起作用。 我看到事件已收到,但未显示通知

以下是my service worker中“推送”事件的代码:

self.addEventListener('push',异步(事件)=>{
log(“Push received data-”,event.data.text());
const pushData=wait event.data.text();
让数据、标题、正文;
试一试{
data=wait JSON.parse(pushData);
title=data.title;
body=data.body;
}捕获(e){
title=“无标题”;
body=pushData;
}
常量选项={
标题:标题,,
身体:身体,,
图标:'/favicon.ico',
}
self.showLocalNotificationSW(标题、正文、自我注册);
})
推送事件调用的
showLocalNotificationSw

const showLocalNotificationSW = async (title, body, swRegistration) => {
    swRegistration.showNotification(title, options);
}
我看到控制台上显示的是
self。showNotificationWrap
不是控制台中的函数。 这是什么意思

我没有任何名为showNotificationWrap的函数

错误:

sw.js:48 Uncaught TypeError: self.showLocalNotificationWrap is not a function
    at sw.js:48
我该如何解决这个问题


如何解决此问题?

事实证明,我只需取消注册并再次注册服务人员即可解决此问题

以下是修改后的推送事件代码:

self.addEventListener('push',接收到异步函数(事件){
让数据、标题、正文;
data=event.data.text();
日志(“推送接收事件-”+数据);
试一试{
data=JSON.parse(数据);
log(JSON.stringify(data));
title=data.title;
body=data.body;
}捕获(错误){
控制台错误(error);
title=“未定义”;
body=数据;
}
事件等待(showNotificationSW(标题、正文、自我注册));
}) 

您在哪里将
self.showLocalNotificationWrap
分配给
self
?对不起,我是javascript新手。我不知道我在做什么。是的-只有你才能回答这个问题,除非你提供一个答案。如果你不这样做,那就是问题所在。是的,我不认为我在给自己分配自我。showLocalNotificationWrap