Javascript @firebase/firestore:firestore(7.16.0):连接GRPC流错误。代码:1消息:1已取消:操作已取消
我有下面的webhook,它正在监听支付提供商API,以便在订单“支付”后更新订单的状态。在Firebase函数的日志中,我获得了控制台日志Javascript @firebase/firestore:firestore(7.16.0):连接GRPC流错误。代码:1消息:1已取消:操作已取消,javascript,node.js,firebase,google-cloud-firestore,Javascript,Node.js,Firebase,Google Cloud Firestore,我有下面的webhook,它正在监听支付提供商API,以便在订单“支付”后更新订单的状态。在Firebase函数的日志中,我获得了控制台日志支付状态Payment status paymed,这意味着我正确地获得了订单的更新。但是,当我尝试调用负责更新Firestore的函数时,我得到以下结果: @firebase/firestore:firestore(7.16.0):连接GRPC流错误。代码:13消息:13内部:接收到带有代码2的RST\U流 exports.webhooks = funct
支付状态Payment status paymed
,这意味着我正确地获得了订单的更新。但是,当我尝试调用负责更新Firestore的函数时,我得到以下结果:
@firebase/firestore:firestore(7.16.0):连接GRPC流错误。代码:13消息:13内部:接收到带有代码2的RST\U流
exports.webhooks = functions.https.onRequest(function (req, res) {
mollieClient.payments
.get(req.body.id)
.then((payment) => {
console.log("Payment status " + payment.status);
if (payment.isPaid()) {
updateOrderStatusPaid(req.body.id);
return null;
}
return null;
})
.catch((error) => {
res.send(error);
});
console.log("Request body " + req.body);
});
function updateOrderStatusPaid(orderId) {
firebase
.firestore()
.collection("orders")
.where("paymentId", "==", orderId)
.update({
status: payment.status
})
.then(function () {
console.log("Success");
return null;
})
.catch(function (error) {
console.log("Error " + error);
});
}
这是我的package.json
文件
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"lint": "eslint .",
"serve": "firebase emulators:start --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "8"
},
"dependencies": {
"@mollie/api-client": "^3.2.4",
"axios": "^0.20.0",
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"firebase": "^7.16.0",
"firebase-admin": "^8.10.0",
"firebase-functions": "^3.6.1",
"grpc": "^1.24.4"
},
"devDependencies": {
"eslint": "^5.12.0",
"eslint-plugin-promise": "^4.0.1",
"firebase-functions-test": "^0.2.0"
},
"private": true
}
我找不到任何与这个问题相关的东西。我已经在服务器端使用Firestore,因此Firebase的初始化没有问题。也许有人知道问题在哪里,或者建议我应该做些什么来解决这个问题。谢谢大家!
与这个问题最密切的联系是仍然没有答案的地方。我相信这个问题已经得到跟踪,调查仍在进行中。更新@grpc/grpc-js
可能会部分缓解它。@EmilGi谢谢,我在我的package lock.json
文件中看到我的@grpc/grpc-js
版本为“1.0.5”
,同时在npmjs.com上最新版本是1.24.4
。我已经使用命令npmi--package lock only
来更新我的package lock.json
文件,但我发现版本没有改变。您能告诉我如何正确更新它吗?您可以在您的包.json中指定它,正如所解释的那样。@EmilGi,我已经在package.json中的依赖项中包含了npm I grpc
,这是我从Firebase的引用中了解到的。我仍然得到同样的错误,我相信这没有改变任何事情,我确信我没有做我认为我应该做的事情来解决这个问题。你能简单地解释一下怎么做吗。。。。你能分享你的package.json文件吗?请注意,即使您设置了正确的grpc版本,在某些情况下,问题仍然存在,因为GitHub线程仍然打开,并且一些用户仍然面临它。