Agu*_*ana 3 node.js google-cloud-storage firebase google-cloud-functions firebase-storage
我正在尝试使用 Firebase 模拟器运行下面的 Firestore 触发器代码,firebase emulators:start
如您所见,在 firestore 触发器内,我有一段代码用于删除存储在 Firebase Storage 中的图像
我的代码:
exports.onDelete = functions
.firestore.document(path)
.onDelete((snapshot, context) => {
try {
const deletedUser = new User(snapshot.data());
const promise1 = db.doc(`devices/${deletedUser.uid}`).delete();
// deleting the image in Storage
const defaultBucket = storage.bucket();
const profilePictureFile = defaultBucket.file(`profilePicture/${deletedUser.uid}`);
const promise2 = profilePictureFile.delete();
const promises: Promise<any>[] = [promise1, promise2];
return Promise.all(promises);
} catch (error) {
console.log(error);
return Promise.reject(error);
}
});
Run Code Online (Sandbox Code Playgroud)
因为 Firebase 模拟器目前没有用于存储的模拟器,所以我预计会出现错误。
但我有这样的警告
正如您在最底部看到的,有一条警告说
您的函数被终止,因为它引发了未处理的错误。
这是一个严重的错误吗?我的意思是,我想我已经在代码中提供了 try catch 块,但为什么它仍然被视为未处理的错误?怎么解决这个问题?
抱歉,我是 Node 初学者,我是一名移动开发人员。所以如果我的问题有点愚蠢,我很抱歉
在 MacOS 上,修复方法是删除最初随 npm 安装的 firebase 工具
npm uninstall -g firebase-tools
然后使用自动安装脚本进行安装(Firebase参考)
curl -sL https://firebase.tools | bash
然后每当更新可用时
curl -sL https://firebase.tools | upgrade=true bash
| 归档时间: |
|
| 查看次数: |
3304 次 |
| 最近记录: |