亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

AngularFireMessaging - 錯誤 this._next 不是函數

AngularFireMessaging - 錯誤 this._next 不是函數

HUH函數 2022-07-08 17:46:27
在我的角度應用程序中,我想添加一些帶有 firebase 的網絡推送通知。import { Component } from "@angular/core";import { AngularFireMessaging } from "@angular/fire/messaging";import { mergeMapTo } from "rxjs/operators";@Component({  selector: "app-home",  templateUrl: "home.page.html",  styleUrls: ["home.page.scss"],})export class HomePage {  constructor(private afMessaging: AngularFireMessaging) {}  requestPermission() {    this.afMessaging.requestPermission      .pipe(mergeMapTo(this.afMessaging.tokenChanges))      .subscribe(        (token) => {          console.log("Permission granted! Save to the server!", token);          this.afMessaging.messages.subscribe(            (message) => {              console.log(message);            },            (error) => {              console.log("error", error);            }          );        },        (error) => {          console.error(error);        }      );  }}當我通過 Firebase 發送測試消息時,我可以獲得一個令牌,并且在應用程序下的開發者控制臺中是通知請求。但是在我的控制臺中,我收到了這個錯誤:zone-evergreen.js:659 Unhandled Promise rejection: this._next is not a function ; Zone: <root> ; Task: ServiceWorkerContainer.addEventListener:message ; Value: TypeError: this._next is not a function    at WindowController.next [as onMessageCallback] (Subscriber.js:49)    at WindowController.<anonymous> (index.esm.js:1067)    at step (tslib.es6.js:100)    at Object.next (tslib.es6.js:81)    at tslib.es6.js:74    at new ZoneAwarePromise (zone-evergreen.js:960)    at __awaiter (tslib.es6.js:70)    at WindowController.push../node_modules/@firebase/messaging/dist/index.esm.js.WindowController.messageEventListener (index.esm.js:1056)    at ServiceWorkerContainer.<anonymous> (index.esm.js:890)    at ZoneDelegate.invokeTask (zone-evergreen.js:399) TypeError: this._next is not a function我正在使用 Angular 9 和 angular/fire 和 firebase。
查看完整描述

2 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

您的庫版本必須firebase大于7.16您的庫版本package.json,并且它應該與中的版本匹配firebase-messaging-sw.js

我發現這里有詳細的解決方案。


查看完整回答
反對 回復 2022-07-08
?
森欄

TA貢獻1810條經驗 獲得超5個贊

似乎是庫核心問題,有兩個選項可以避免錯誤:

  1. stackoverflow.com/a/60557818/7927724我嘗試使用這些版本并且效果很好。你可以先試試看,直到你發現實際版本有問題

  2. 您可以嘗試以下解決方法:

this.afMessaging.messaging.subscribe(

    (_messaging: any) => {

        messaging._next = (payload: any) = > {

            console.log(payload);

        };

    }

);


查看完整回答
反對 回復 2022-07-08
  • 2 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號