我几个月前就构建了这个函数,直到两天前,在更新了Flutter之后,它一直工作得很好(我想是无关的(。该功能本质上是在用户上传照片以供公众查看之前,先审查照片中是否有不适当的内容。
我可以看到图像和文档从应用程序正确上传到Firestore。这会触发使用视觉的功能。ImageAnnotatorClient((来标记图像('@google cloud/vision'(。功能控制台几乎立即抛出此错误:
onCreatePost:
Error: 1 CANCELLED: The operation was cancelled.
at Object.callErrorFromStatus (/srv/node_modules/@grpc/grpc-js/build/src/call.js:30:26)
at Http2CallStream.call.on (/srv/node_modules/@grpc/grpc-js/build/src/client.js:96:33)
at emitOne (events.js:121:20)
at Http2CallStream.emit (events.js:211:7)
at process.nextTick (/srv/node_modules/@grpc/grpc-js/build/src/call-stream.js:97:22)
at _combinedTickCallback (internal/process/next_tick.js:132:7)
at process._tickDomainCallback (internal/process/next_tick.js:219:9)
- 这种取消发生在什么级别?我甚至不知道该把搜索范围缩小到哪里
- 这是怎么发生的?我能指望随机函数将来会失败吗
- 我在吃疯狂的药吗?感觉我快要疯了,在找这方面的素材。
编辑:我已经将错误缩小到我的函数中的这一行:
var [dataTest] = await visionClient.annotateImage(request)
visionClient是愿景的一个实例。ImageAnnotatorClient((
视觉来自"@google cloud/vision">
我还注意到,这些错误是在一个不寻常的独特错误之后开始出现的:
onCreatePost
Error: function crashed out of request scope Function invocation was interrupted.
解决了问题:
我不得不进入我的Flutter应用程序功能文件夹,在那里我保存了我的firebase云功能。然后我不得不使用以下命令更新"谷歌云/视觉":
npm install --save @google-cloud/vision
我将新的更新部署到firebase,一切都重新开始工作。。。我应该如何捕捉像这样的包的更新来更改和破坏我的代码?