Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每个请求嵌套新的HttpService_Javascript_Node.js_Nestjs - Fatal编程技术网

Javascript 每个请求嵌套新的HttpService

Javascript 每个请求嵌套新的HttpService,javascript,node.js,nestjs,Javascript,Node.js,Nestjs,我有以下全局HTTP模块 import { Global, HttpModule, Module, HttpService } from '@nestjs/common'; @Global() @Module({ imports: [HttpModule.register({ timeout: 7000, })], exports: [HttpModule], providers: [] }) export class HttpGlobalMod

我有以下全局HTTP模块

import { Global, HttpModule, Module, HttpService } from '@nestjs/common';

@Global()
@Module({
    imports: [HttpModule.register({
        timeout: 7000,
    })],
    exports: [HttpModule],
    providers: []
})
export class HttpGlobalModule {

}
这是一个为其他模块注入HTTP服务的HTTP模块,我将执行以下操作:

我希望此模块为每个请求提供新的HTTP服务

我面临的问题: 当我尝试在providers数组中添加HTTP服务时,收到以下错误:

 Nest can't resolve dependencies of the HttpService (?). Please make sure that the argument AXIOS_INSTANCE_TOKEN at index [0] is available in the HttpGlobalModule context.

Potential solutions:
- If AXIOS_INSTANCE_TOKEN is a provider, is it part of the current HttpGlobalModule?
- If AXIOS_INSTANCE_TOKEN is exported from a separate @Module, is that module imported within HttpGlobalModule?

非常感谢您提供的任何帮助。

我真的很好奇,为什么每个请求都需要一个新的Http服务实例?通常,这被认为是一种反模式,因为它会在您的服务中产生大量开销,如果不清理实例,可能会导致大量内存泄漏。我认为这是一个可以解决的问题,我只是好奇,如果这是你想要完成的事情的创可贴?如果可以,我很乐意帮忙:)您好,谢谢您的评论,实际上我正在努力防止我的应用程序中出现另一个问题我正在使用Axios interceptor修改所有出站请求的头并记录这些请求,要使用Axios interceptor,您必须使用Axios ref作为HTTP实例,因此,当我部署到lambda Axios interceptor manager时,会不断将新的处理程序推送到请求处理程序数组中,这会导致我的应用程序在第二个请求中失败并返回500,因此我认为这与serverless使用同一实例从而冻结它的想法有关。注意:这不会发生本地也是如此,我正在为所有路由使用中间件中的拦截器/你知道如何避免这种情况吗,我真的需要帮助你在Github上有这段代码吗,或者在我可以查看的地方?我有一些想法,但我需要更多关于你的项目是如何设置的背景。