当处理所有承诺和其他东西时,获取请求不返回数据,仍在发送

When handle all promises and other stuff, Get request not returning data, still sending

我正在尝试查询我的数据中的一些数据。但是当我向我的服务器发送获取请求时,它没有返回任何东西。但是当我控制台日志时,我的数据打印在控制台上。我处理所有的承诺和其他事情。但是结果是一样的

控制器方法:-

  @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;
    }
  }

客户端:-(请求数据仍然是 sending.Not 从我的控制器返回数据)

我真的需要你的帮助...谢谢你..❤️

当您将 @Res() 添加到路由处理程序时,您是在告诉 Nest 您想要使用 library-specific approach 并且您将自行处理发送响应。如果你不需要任何底层引擎特定的方法,我建议不要在路由处理程序中使用 @Res(),如果你确实需要一些方法,但仍然希望 Nest 发送响应,你可以使用 @Res({ passthrough: true }),只要确保您最终不会自己打电话给 res.send

为了处理错误,您可以捕获错误并将其 re-throw 作为 HttpException,这样 Nest 的 built-in 异常过滤器将为您发送正确的响应代码和消息