我正在嘗試查詢我的資料中的一些資料。但是當我向我的服務器發送獲取請求時,它沒有回傳任何內容。但是當我控制臺日志時,我的資料會列印在控制臺上。我處理所有的承諾和其他事情。但結果是一樣的。
控制器方法:-
@Get('order/:state')
async getOrderByStatus(
@Res() response: Response,
@Param('state') state: number,
): Promise<OrderService[]> {
try {
const orderStatus = await this.orderServiceService.getOrderByStatus(
state,
);
if (orderStatus) {
console.log(orderStatus);
return orderStatus;
}
} catch (error) {
console.log(error);
response.status(401).send(error);
}
}
服務方式:-
async getOrderByStatus(state: number): Promise<OrderService[]> {
try {
const orderState = await this.orderModel.find({ orderStatus: state });
if (orderState) {
return orderState;
}
throw new HttpException('Order not found', HttpStatus.NOT_FOUND);
} catch (error) {
console.log(error);
throw error;
}
}
客戶端:-(請求資料仍在發送。未從我的控制器回傳資料)

我真的需要你的幫助...謝謝..??
uj5u.com熱心網友回復:
當您添加@Res()到路由處理程式時,您是在告訴 Nest 您要使用特定于庫的方法,并且您將自己處理發送回應。如果你不需要任何底層引擎特定的方法,我建議不要@Res()在路由處理程式中使用,如果你確實需要一些方法,但仍然希望 Nest 發送你最終可以使用的回應@Res({ passthrough: true }),只需確保你最后不要給res.send自己打電話。
為了處理錯誤,您可以捕獲錯誤并將其重新拋出為HttpException,這樣 Nest 的內置例外過濾器將為您發送正確的回應代碼和訊息
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/477786.html
下一篇:解決承諾時擺脫未捕獲的錯誤
