假设我有一个api接口如下:
async updateNameById(@Query() id: number) {
let dbUsr = await this.usrService.findById(id)
//其他操作
await this.usrService.updateXXX({id, name})
await this.logService.log(xxxx)
return 'done'
}
从这个api的用时角度考虑 我们知道第一行findById一般数据库读都是很快的,真正影响这个接口速度的是updateXXX(数据库写操作) 那么:
- 这个update的方法前的await可以取消吗? (试了下,确实api的往返时间快了很多)
- 无关乎业务的log是不是可以取现await? (一般log都是写在middleware中,这里只是示意)
如果可以,取消await对整个服务有没有影响,比如说log的过程中,新的api请求到来了。
thx!