Sat*_*tor 1 typescript axios nestjs
我想使用 axios 和 Nestjs 向外部 api 发出请求。
我使用 axios
接受了 Nestjs 这个答案,而不是在控制器中执行请求,而是创建了一个服务
// 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;
}
}
Run Code Online (Sandbox Code Playgroud)
这给了我一个 stackoverflow
[Nest] 23928 - 02/28/2021, 12:16:18 PM [ExceptionsHandler] Maximum call stack size exceeded +74479ms
RangeError: Maximum call stack size exceeded
Run Code Online (Sandbox Code Playgroud)
是什么导致了这种行为?
hoa*_*gdv 15
你调用控制器的getResponse()无穷大,然后它会抛出Maximum call stack size exceeded错误。
我认为您想改为调用该服务的函数:
@Get()
getResponse(){
this.collectService.getResponse();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10333 次 |
| 最近记录: |