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