我想使用axios和nestjs向外部api发出请求。
我接受了这个答案
Nestjs使用axios
我没有在控制器中执行请求,而是创建了一个服务
// controller
import { Controller, Get } from '@nestjs/common';
import { CollectService } from './collect.service';
@Controller('collect')
export class CollectController {
constructor(private collectService: CollectService) {}
@Get()
getResponse(){
this.getResponse();
}
}
// ----------service ------------------------
import { Injectable, HttpService } from '@nestjs/common';
@Injectable()
export class CollectService {
constructor(private httpService: HttpService) {}
async getResponse() {
const response = await this.httpService.get('https://reqres.in/api/users/2').toPromise();
return response.data;
}
}
这给了我一个堆栈溢出
[Nest] 23928 - 02/28/2021, 12:16:18 PM [ExceptionsHandler] Maximum call stack size exceeded +74479ms
RangeError: Maximum call stack size exceeded
是什么导致了这种行为?
发布于 2021-02-28 21:48:06
您可以调用控制器的
无穷大,然后抛出
错误。
我认为您应该调用服务的函数:
@Get()
getResponse(){
this.collectService.getResponse();
}
https://stackoverflow.com/questions/66408563
复制相似问题