【发布时间】:2021-05-17 09:15:40
【问题描述】:
我知道对于触发函数,我必须始终返回一个承诺。看下面的例子:
//Example
exports.onAuthUserDelete = functions.auth.user().onDelete(async (user) => {
let userId = user.uid;
try {
await firestore.collection('Users').doc(userId).delete();
return Promise.resolve();
} catch (error) {
logger.error(error);
return Promise.reject(error);
}
});
我的问题是:
- 是
return Promise.resolve()是必需的还是我可以只做return firestore.collection('Users').doc(userId).delete()?如果我选择后者,如果命令失败会发生什么?还会触发catch()吗? - 是否最好只使用以下模板启动每个函数以确保始终返回承诺?
//Is it better to start with this boilerplate
exports.onAuthUserDelete = functions.auth.user().onDelete(async (user) => {
return new Promise((resolve, reject) => {
//My code goes here...
});
}
【问题讨论】:
标签: node.js firebase promise google-cloud-functions