Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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函数没有consol.log(var),但没有';t var2=var_Javascript_Vue.js_Promise_Push Notification_Es6 Promise - Fatal编程技术网

JavaScript函数没有consol.log(var),但没有';t var2=var

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

我遵循本教程:并将其实现到VueJS

在创建的钩子上,我运行以下函数:

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错误。