首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase的云函数onWrite() promise总是超时

Firebase的云函数onWrite() promise总是超时
EN

Stack Overflow用户
提问于 2017-04-07 01:44:24
回答 2查看 410关注 0票数 4

我正在尝试运行一个云函数并更改数据库上的一个值,但每次我返回一个promise时,无论有没有'firebase-admin‘模块,函数都会在60秒后超时。

下面是我的代码:

代码语言:javascript
复制
var functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.handleDisconnection = functions.database.ref('/pages/{pageId}/listeners/disconnection')
  .onWrite(event => {
    const eventSnapshot = event.data;
    const isDisconnected = eventSnapshot.val();
    const pageId = event.params.pageId;
    console.log('there is a new disconnection on page ' + pageId + ', isDisconnected: ' + isDisconnected);
    if (eventSnapshot.changed() && isDisconnected) {
      console.log('is disconnected true');
      return admin.database().ref('/pages/'+pageId+'/listeners/disconnection').set({ disconnection: false }).then(() => {
        console.log('Write succeeded!'); // this never triggers
      });
    }
});
EN

回答 2

Stack Overflow用户

发布于 2017-07-17 20:46:07

代码语言:javascript
复制
 if (eventSnapshot.changed() && isDisconnected) {
       console.log('is disconnected true');`
       return admin.database.ref('/...')
       .set({ disconnection: false }, err => {
                 if(!err)  // No error 
                       { console.log("Set Updated"); }
       });

设置方法有一个回调,它将err作为对象传递,您可以使用err来获取操作状态。

票数 0
EN

Stack Overflow用户

发布于 2017-07-18 04:10:24

结果发现问题不在代码中。

解决了更新Node.js和npm的问题

使用“当前”版本的https://nodejs.org/en/

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43262296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档