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:超出最大调用堆栈大小的主要内容,如果未能解决你的问题,请参考以下文章

RangeError:超出最大调用堆栈大小

Nowjs:[RangeError:超出最大调用堆栈大小]

猫鼬:UnhandledPromiseRejectionWarning:RangeError:超出最大调用堆栈大小

VueJS“RangeError:超出最大调用堆栈大小”

Node.js + mongoose [RangeError: 超出最大调用堆栈大小]

Rails:ExecJS :: ProgramError:RangeError:超出最大调用堆栈大小