未建立连接Firebase Firestore和grpc中的错误

时间:2019-10-25 02:39:59

标签: javascript firebase google-cloud-firestore

此功能是通过引用现有数据添加不存在的新数据,并更新存在的数据的功能。它运作良好,但是一个小时后发生gRpc错误。详细信息如下:

Error: No connection established at Http2CallStream.<anonymous> (D:\zyleTcpServer\node_modules\@grpc\grpc-js\build\src\call.js:68:41) at Http2CallStream.emit (events.js:215:7) at D:\zyleTcpServer\node_modules\@grpc\grpc-js\build\src\call-stream.js:75:22 at processTicksAndRejections (internal/process/task_queues.js:75:11) --------------------------------------------- at BunWrapper.Readable.on (D:\zyleTcpServer\node_modules\bun\node_modules\readable-stream\lib\_stream_readable.js:729:33) at D:\zyleTcpServer\node_modules\@google-cloud\firestore\build\src\index.js:920:26 at new Promise (<anonymous>) at Firestore._initializeStream (D:\zyleTcpServer\node_modules\@google-cloud\firestore\build\src\index.js:881:16) at D:\zyleTcpServer\node_modules\@google-cloud\firestore\build\src\index.js:1017:28 { code: 14, details: 'No connection established', metadata: Metadata { internalRepr: Map {}, options: {} } }
这是我的代码

<code>
    const docName = `${vin}-${dtc}`; //make doc
    const ebsRef = db.collection('events').doc(docName);
    await db.runTransaction((t) => t.get(ebsRef)
      .then(async (doc) => {
        if (!doc.exists) {
          return t.set({
           startDatetime: firebase.firestore.FieldValue.serverTimestamp(),
           endDatetime: firebase.firestore.FieldValue.serverTimestamp(),
           description: dtcData.description,
           dtcCode: dtc,
           eventType: brokenType,
           scannerCode: dtcData.scanner,
           vin,
          });
       }
       return t.update(ebsRef, {
         status: (rawDtc.status === '08' ? 2 : 1),
         endDatetime: firebase.firestore.FieldValue.serverTimestamp(),
      });
    </code>
    <br>

我的源代码有问题吗?     我该如何解决..?

1 个答案:

答案 0 :(得分:2)

  如 Firebase Functions Github 所述,

其他人在过去一周中遇到了相同的问题这涉及到涉及Firestore的每种函数,并且与将Fire grpc更改为grpc-js 有关。如对话线程中所述,您可以尝试一些解决方法:

解决方法

  

1-从“ firebase-functions”:“ ^ 3.2.0”更新为“ firebase-functions”:“ ^ 3.3.0”

OR

  

2-删除您的/src/functions/node_modules/src/functions/package-lock.json,更新您的依赖项,并将包含/src/functions/package.json中新依赖项的更改推送到Firebase应用。


最后,您的依存关系应为:

@grpc/grpc-js": "0.6.9"

此对话线程grpc/grpc-node#1027还介绍了更新您的部门的方法,也可能会很有帮助。