我正在尝试通过Firebase Cloud Messaging从AWS中的一个节点js lambda发送推送通知。
我的函数起作用了,我在手机上收到通知,但是lambda一直超时(即使在20s超时)。我可以在日志中看到我的lambda回调正在被调用。似乎有什么东西阻止了lambda返回。
我用以下方式初始化:
const serviceAccount = require('./firebaseKey.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: 'xxx',
});
并通过以下方式发送:
const fcmResponse = await admin.messaging().sendToDevice(fcmToken, message);
我的直觉是,它在这里阻止了它的回归,因为其他一切都很简单。
有没有人知道是什么导致了超时?
发布于 2021-03-07 20:31:56
对于其他看到这一点的人。
Firebase似乎留下了一些东西,这意味着回调永远不会被调用。
在处理程序中添加以下行可以解决此问题:
context.callbackWaitsForEmptyEventLoop = false;
https://stackoverflow.com/questions/66506480
复制相似问题