我有一个firebase函数,其中我手动抛出一个错误,其中包含如下状态和消息:throw new functions.https.HttpsError('permission-denied', 'Token does not match');我从服务器获得的响应如下所示(使用chrome dev控制台):{"error":{"message":"Token does not match","status":"PERMISSION_DENIED"}}但是当我像这样调用函数时,错误中没有状态(使用AngularFire2):try { return await this.functions.httpsCallable<void, void>('testFunc')().toPromise();} catch (e) { console.log(e.name); // "Error" console.log(e.message); // "Token does not match" console.log(e.status); // undefined}有没有办法获得它的状态,因为我宁愿检查而不是.if(e.status == 'PERMISSION_DENIED')if(e.message == 'Token does not match')
1 回答

函数式编程
TA贡献1807条经验 获得超9个赞
e
将是一个 HttpsError 对象。从 API 文档中可以看出,它应该有一个名为 FunctionsErrorCode 的属性,该对象包含 HTTP 状态代码作为字符串,该字符串应与从可调用函数中抛出的内容相匹配。所以我期望是字符串。code
e.code
permission-denied
添加回答
举报
0/150
提交
取消