猿问

你能读懂火库函数的 HttpsError 状态吗?

我有一个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')


慕妹3146593
浏览 127回答 1
1回答

函数式编程

e将是一个&nbsp;HttpsError&nbsp;对象。从 API 文档中可以看出,它应该有一个名为&nbsp;FunctionsErrorCode&nbsp;的属性,该对象包含 HTTP 状态代码作为字符串,该字符串应与从可调用函数中抛出的内容相匹配。所以我期望是字符串。codee.codepermission-denied
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答