如果 Nestjs 控制器方法返回 Promise,它是否必须是异步的?

use*_*996 3 asynchronous controller nestjs

非常简单的一般问题:

@Controller('something')
class SomeController {
  @Get()
  foobar() {
     return foo() // this returns a promise
  }
}
Run Code Online (Sandbox Code Playgroud)

那么在这种情况下,我是否必须使foobar()控制器方法异步?我的理解是,这是没有必要的。NestJS 将自动解析返回的 Promise。仅当我想进入内部时才需要使方法异步await

它是否正确?

Jay*_*iel 7

从技术上讲,这是没有必要的,Nest 会按原样查看 Promise 并在发送响应之前解决它,但通常将 Promise 返回方法标记为 是一个很好的做法async,只是为了保持习惯并清楚它返回的内容