ค้นหาเว็บไซต์

typescript - AngularFire2 (@angular/fire) วิธีดึงข้อผิดพลาดจากฟังก์ชันที่เรียกได้?


ฉันกำลังพยายามเข้าถึงข้อความข้อผิดพลาดของฟังก์ชันที่เรียกได้ภายในสภาพแวดล้อม Angular โดยใช้แพ็กเกจ angular fire โปรดดูโค้ดต่อไปนี้:

Angular (ฝั่งลูกค้า)

async myCallableFunction(id: string) {
  try {
    const res = await this.afFunctions.httpsCallable('callableFunction')({
      id
    }).toPromise();

    console.log(res);
  } catch (err) {
    console.error('Error is:', err);
  }
}

ฝั่งเซิร์ฟเวอร์ (ฟังก์ชัน Firebase)

exports.callableFunction = functions.https.onCall((data: {
 id: string
}, context: https.CallableContext) => {
  // throw error for testing only
  throw new https.HttpsError('unknown', 'Test Error Message');
});

และข้อความข้อผิดพลาดที่บันทึกลงคอนโซลคือ:

[console.error]: "ข้อผิดพลาดคือ:" { "code": "unknown", "line": 100205, "column": 32, "sourceURL": "http://192.168.1.100:8100/vendor.js" }

ฉันสามารถเข้าถึง ข้อความข้อผิดพลาด จากการตอบกลับโดย Cloud Firestore ได้อย่างไร?

ขอบคุณล่วงหน้า

คำตอบ #1

ฉันเพิ่งติดอยู่กับคำถามนี้ในชั่วโมงที่ผ่านมา ดังนั้นฉันจะโพสต์คำตอบของฉันสำหรับคนที่มาที่นี่

console.error('Error is:', err);

ไม่ได้แสดงเนื้อหาทั้งหมดของวัตถุ err หากคุณต้องการเข้าถึงพารามิเตอร์ใด ๆ ทั้ง 3 ของวัตถุ err คุณจะต้องเข้าถึงโดยตรง

  console.error(e.code);
  console.error(e.message);
  console.error(e.details);

บทความที่เกี่ยวข้อง