From bce34327a0aa3d6ea8365423df9962c13f256ab4 Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期五, 01 九月 2023 13:59:23 +0800
Subject: [PATCH] Update: 處理弱掃問題:  Trying to await on a null object

---
 PAMapp/shared/services/appointment.service.ts      |   21 +++++++++++++++------
 PAMapp/shared/services/query-consultant.service.ts |   14 ++++++++------
 PAMapp/shared/services/reviews.service.ts          |    5 +++--
 PAMapp/shared/services/login.service.ts            |    3 ++-
 4 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/PAMapp/shared/services/appointment.service.ts b/PAMapp/shared/services/appointment.service.ts
index 3a589f3..b36fb3f 100644
--- a/PAMapp/shared/services/appointment.service.ts
+++ b/PAMapp/shared/services/appointment.service.ts
@@ -57,10 +57,11 @@
   async createMemo(memoInfo: createdMemoInfo): Promise<AppointmentMemoInfo> {
     try {
       const response = await http.post('/appointment/memo/create', memoInfo);
-      if (response !== null) {
-        return response.data;
-      } else {
+      // 撘望�� test2: ���� !response
+      if (!response) {
         throw new Error('http.post returned null-like value.');
+      } else {
+        return response.data;
       }
     } catch (error) {
       // �隞亙甇方���隤斗����身��
@@ -102,12 +103,20 @@
    * @returns ��蝯����
    */
   async closeAppointment(appointmentInfo: ToDoneAppointment | ToCloseAppointment) {
+    // 撘望�est5: ����� promise
     try {
       const response = await http.post(`/appointment/close`, appointmentInfo);
-      if (response !== null) {
-        return response.data;
-      } else {
+      const responsePromise = new Promise((resolve, reject) => {
+        if (response !== null) {
+          resolve(response.data);
+        } else {
+          reject('http.post returned null-like value.');
+        }
+      });
+      if (!response) {
         throw new Error('http.post returned null-like value.');
+      } else {
+        return responsePromise.then(res => res);
       }
     } catch (error) {
       // �隞亙甇方���隤斗����身��
diff --git a/PAMapp/shared/services/login.service.ts b/PAMapp/shared/services/login.service.ts
index 3c8f45a..eb61ccb 100644
--- a/PAMapp/shared/services/login.service.ts
+++ b/PAMapp/shared/services/login.service.ts
@@ -17,7 +17,8 @@
     async sendOtp(loginInfo: LoginRequest, verifyCode: string): Promise<OtpInfo> {
       try {
         const response = await http.post(`/otp/sendOtp/${verifyCode}`, loginInfo);
-        if (response !== null) {
+        // 撘望�est1: �� if (response)
+        if (response) {
           return response.data;
         } else {
           throw new Error('http.post returned null-like value.');
diff --git a/PAMapp/shared/services/query-consultant.service.ts b/PAMapp/shared/services/query-consultant.service.ts
index 8368a7f..23ac24d 100644
--- a/PAMapp/shared/services/query-consultant.service.ts
+++ b/PAMapp/shared/services/query-consultant.service.ts
@@ -61,12 +61,14 @@
    */
   async  appointmentDemand(data: AppointmentParams) {
     try {
-      const response = await http.post('/appointment/customer/create', data);
-      if (response !== null) {
-        return response.data;
-      } else {
-        throw new Error('http.post returned null-like value.');
-      }
+      // 撘望�est4: �� promise.then 撖急��
+      return http.post('/appointment/customer/create', data).then((res) => {
+        if (res) {
+          return res['data'];
+        } else {
+          throw new Error('http.post returned null-like value.');
+        }
+      })
     } catch (error) {
       // �隞亙甇方���隤斗����身��
       console.error('An error occurred while creating appointment demand:', error);
diff --git a/PAMapp/shared/services/reviews.service.ts b/PAMapp/shared/services/reviews.service.ts
index 9982078..b8f8714 100644
--- a/PAMapp/shared/services/reviews.service.ts
+++ b/PAMapp/shared/services/reviews.service.ts
@@ -29,8 +29,9 @@
   async  sendSatisfactionToClient(appointmentId: number): Promise<any> {
     try {
       const response = await http.post(`/consultant/sendSatisfactionToClient/${appointmentId}`);
-      if (response !== null) {
-        return response.data;
+      // 撘望�EST3: �� response && response.data
+      if (response) {
+        return response && response.data;
       } else {
         throw new Error('http.post returned null-like value.');
       }

--
Gitblit v1.8.0