Nest.js RangeError:超出最大调用堆栈大小
Posted
技术标签:
【中文标题】Nest.js RangeError:超出最大调用堆栈大小【英文标题】:Nest.js RangeError: Maximum call stack size exceeded 【发布时间】:2021-05-30 04:14:39 【问题描述】:我想使用 axios 和 nestjs 向外部 api 发出请求。 我接受了这个答案Nestjs using 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
是什么导致了这种行为?
【问题讨论】:
【参考方案1】:你调用控制器的getResponse()
infinity,然后它会抛出Maximum call stack size exceeded
错误。
我认为您想改为调用服务的函数:
@Get()
getResponse()
this.collectService.getResponse();
【讨论】:
以上是关于Nest.js RangeError:超出最大调用堆栈大小的主要内容,如果未能解决你的问题,请参考以下文章
猫鼬:UnhandledPromiseRejectionWarning:RangeError:超出最大调用堆栈大小