Firebase 部署错误

Posted

技术标签:

【中文标题】Firebase 部署错误【英文标题】:Firebase Deploy Error 【发布时间】:2018-04-28 08:39:16 【问题描述】:

我正在尝试使用 nodejs 使用 firebase 在我的 android 项目中添加推送通知功能。我已经安装了 firebase 工具并连接到我的项目。

这里是 index.js 文件

'use strict'

    const functions = require('firebase-functions');
    const admin = require ('firebase-admin');
    admin.initializeApp(functions.config().firebase);

    exports.sendNotification = functions.database.ref('/Notifications/receiver_id/notification_id').onWrite(event =>
    
      const receiver_id = event.params.receiver_id;
      const notification_id = event.params.notification_id;
      console.log('We have new notification to send to : ', receiver_id);

      if(!event.data.val())
      
        return console.log('A notification has been deleted from the database :', notification_id);
      

    const deviceToken = admin.database().ref(`/Users/$receiver_id/device_token`).once('value');

    return deviceToken.then(response =>
    
        const token_id = result.val();
        const payload =
        
            notification:
            
                title: "Friend Request",
                body: "You have received a new Friend Request",
                icon: "default"
            
        ;

        return admin.messaging().sendToDevice(token_id, payload).then(response =>
        
            console.log('This was the notification feature');
        );


    );

);

当我尝试部署文件时,我收到了这个错误:

33:11 警告 避免嵌套承诺 promise/no-nesting 33:66 错误 每个 then() 都应该返回一个值或抛出 promise/always-return

✖ 2 个问题(1 个错误,1 个警告)

npm 错误!代码生命周期

npm 错误!错误号 1

npm 错误!函数@ lint:eslint .

npm 错误!退出状态 1

npm 错误! npm 错误! functions@lint 脚本失败。

npm 错误!这可能不是 npm 的问题。上面可能还有额外的日志输出。

错误:函数预部署错误:命令以非零退出代码终止

【问题讨论】:

【参考方案1】:

错误说Each then() should return a value or throw promise/always-return所以,每次调用then(),都必须添加这样的return语句

return admin.messaging().sendToDevice(token_id, payload).then(response =>
    
        console.log('This was the notification feature');
  //add return statement here
      return null;
    );

【讨论】:

这解决了我的错误,但仍然显示 1 个警告。 请支持我的回答?这个警告说明了什么

以上是关于Firebase 部署错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Firebase 中部署功能时出现 Firebase 未找到错误

Firebase 部署错误

部署 firebase 项目时错误显示“找不到模块 firebase-functions”

部署函数时出现 Firebase 部署错误

Firebase 部署在 tsc 命令返回错误

由于权限错误,无法部署 Firebase 云功能