到目前为止,我尝试过
class MyException extends Error {
constructor(message, code) {
super(message);
this.code = code;
}
}
exports.MyException = MyException;
VueJS说“未定义导出”
如果我只是做了
exports.MyException = () => {}
然后Firebase说MyException不是构造函数。当我
throw new MyException()
实际上,一旦异常通过可调用函数传递,它是否仍是instanceOf
?
我应该一起去
try {
let d = await db.collection('x').document('y')
if (!d.exists) {
let e = new Error('Document Does not Exist')
e.code = 'ERR_NO_DOCUMENT'
throw e
}
else {
return d.data()
}
}
C是一个好习惯吗?
如documentation中有关可调用云功能的说明:
为了确保客户端获得有用的错误详细信息,请从通过抛出(或返回被拒绝的Promise)来调用
functions.https.HttpsError
的实例。
正在这样做
functions.https.HttpsError
将不起作用。
您需要在可调用的云函数中执行以下操作:
try {
let d = await db.collection('x').document('y')
if (!d.exists) {
let e = new Error('Document Does not Exist')
e.code = 'ERR_NO_DOCUMENT'
throw e
}
else {
return d.data()
}
}