Firebase功能始终以超时结束

J3n*_*sis 2 javascript node.js firebase google-cloud-functions firebase-cloud-messaging

我正在使用firebase功能通过云消息传递创建通知.但我总是得到这个错误:

Function execution took 60006 ms, finished with status: 'timeout'
Run Code Online (Sandbox Code Playgroud)

但通知有效.

这是我在index.js中使用的代码:

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


exports.SendNotification = functions.https.onRequest((req, res) => {  

  var payload = {
      notification: {
         title: "this is a test",
         body: req.rawBody.toString('utf8')
      }
  }

  return admin.messaging().sendToTopic("all", payload);

});
Run Code Online (Sandbox Code Playgroud)

我必须实施回复吗?什么时候,我该怎么做?

J3nsis

Fra*_*len 9

HTTPS触发的云功能在向其调用方发送响应时结束.由于您的代码从不发送响应,因此代码将一直运行,直到其配置的超时(默认为1分钟).

要在完成后正确终止该功能,请在FCM调用完成后发回结果:

admin.messaging().sendToTopic("all", payload).then(() => {
  res.status(200).send("ok");
}).catch((err) => {
  res.status(500).send(err);
});
Run Code Online (Sandbox Code Playgroud)

我建议在文档中阅读本节: