JavaScript函数没有consol.log(var),但没有';t var2=var
我遵循本教程:并将其实现到VueJS 在创建的钩子上,我运行以下函数:JavaScript函数没有consol.log(var),但没有';t var2=var,javascript,vue.js,promise,push-notification,es6-promise,Javascript,Vue.js,Promise,Push Notification,Es6 Promise,我遵循本教程:并将其实现到VueJS 在创建的钩子上,我运行以下函数: register() { if ("serviceWorker" in navigator && "PushManager" in window) { console.log("Service Worker and Push is supported"); navigator.serviceWorker
register() {
if ("serviceWorker" in navigator && "PushManager" in window) {
console.log("Service Worker and Push is supported");
navigator.serviceWorker
.register("/sw.js")
.then(function (swReg) {
console.log("Service Worker is registered", swReg);
swRegistration = swReg;
})
.catch(function (error) {
console.error("Service Worker Error", error);
});
} else {
console.warn("Push messaging is not supported");
pushButton.textContent = "Push Not Supported";
}
}
Chrome、Safari和Firefox中的我的控制台打印:
"Service Worker and Push is supported"
"Service Worker is registered >ServiceWorkerRegistration"
"Service Worker Error ReferenceError: swRegistration is not defined"
有人知道为什么可以记录swReg,但不能分配swReg吗
.then(function (swReg) {
console.log("Service Worker is registered", swReg);
swRegistration = swReg;
可能是因为未定义
swRegistration
?尝试在代码段顶部添加让swRegistration
,一切都会好起来的。
享受。可能是因为
swRegistration
没有定义?尝试在代码段顶部添加让swRegistration
,一切都会好起来的。
享受吧。你应该先申报注册,你不会面临同样的问题 swReg问题,因为这是注册承诺的结果
register() {
let swRegistration = null;
if ("serviceWorker" in navigator && "PushManager" in window) {
console.log("Service Worker and Push is supported");
navigator.serviceWorker
.register("/sw.js")
.then(function (swReg) {
console.log("Service Worker is registered", swReg);
swRegistration = swReg;
})
.catch(function (error) {
console.error("Service Worker Error", error);
});
} else {
console.warn("Push messaging is not supported");
pushButton.textContent = "Push Not Supported";
}
}
你应该先申报注册,你不会面临同样的问题 swReg问题,因为这是注册承诺的结果
register() {
let swRegistration = null;
if ("serviceWorker" in navigator && "PushManager" in window) {
console.log("Service Worker and Push is supported");
navigator.serviceWorker
.register("/sw.js")
.then(function (swReg) {
console.log("Service Worker is registered", swReg);
swRegistration = swReg;
})
.catch(function (error) {
console.error("Service Worker Error", error);
});
} else {
console.warn("Push messaging is not supported");
pushButton.textContent = "Push Not Supported";
}
}
严格模式javascript错误。严格模式javascript错误。