【问题标题】:nestjs @SubscribeMessage UnhandledPromiseRejectionWarning: TypeError: this.contextUtils.getContextFactory is not a functionnestjs @SubscribeMessage UnhandledPromiseRejectionWarning: TypeError: this.contextUtils.getContextFactory 不是函数
【发布时间】:2020-06-26 21:50:30
【问题描述】:

我在我的 nestjs 应用程序中看到了这个错误

(node:16561) UnhandledPromiseRejectionWarning: TypeError: this.contextUtils.getContextFactory is not a function 在 WsContextCreator.getMetadata (/Users/sajankumarvijayan/Documents/projects/review.io/node_modules/@nestjs/websockets/context/ws-context-creator.js:73:50) 在 WsContextCreator.create (/Users/sajankumarvijayan/Documents/projects/review.io/node_modules/@nestjs/websockets/context/ws-context-creator.js:28:68)

这是我的示例代码:

import {
   SubscribeMessage,
   WebSocketGateway,
   WebSocketServer,
} from '@nestjs/websockets';
import { Server } from 'ws';

@WebSocketGateway()
export class SocketGateway {
  @WebSocketServer()
  server: Server;

  @SubscribeMessage('event')
  onEvent(client: any, data: any): void {
    this.server.emit('update');
  }
}

如果我删除 @SubscribeMessage 注释,错误就消失了。我认为此异常未得到处理,但正在寻找一些答案并帮助解决此问题。谢谢。

【问题讨论】:

    标签: node.js websocket nestjs


    【解决方案1】:

    我遇到了同样的错误。为了解决它,我用nest update -f -t latest 更新了nestjs,由于某种原因,-f 标志对我来说是必要的,否则它不会更新。

    【讨论】:

      【解决方案2】:

      这发生在我身上,就我而言是版本问题,我使用的是 6.x 版的软件包 @nestjs/common@nestjs/core

      在我对这些库进行重大升级后,它得到了修复。由于我没有任何版本限制,因此我执行了完整的主要版本升级。遵循 npm

      的说明

      一步

      npm i -g npm-check-updates && ncu -u && npm i
      

      或者把它分解……

      如果您还没有检查更新,请安装检查更新

      npm install -g npm-check-updates
      

      给你列表

      ncu -u
      

      安装

      npm install
      

      这也会更新您的 package.json 文件

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题,在我将 @nestjs/core@nestjs/common 升级到 7.x.x 版本后它就消失了

        【讨论】:

          【解决方案4】:

          我认为问题在于我通过运行 yarn upgrade --scope @nestjs --latest 修复的版本具有魔力。

          【讨论】:

          • 它对我不起作用。您现在使用的是哪个版本?
          • 也许可以尝试 yarn upgrade --latest 我正在使用 7.0.1
          • 谢谢,我的问题是我使用6.x.x 版本的@nestjs/core@nestjs/common@nestjs/microservices 版本7.0.2
          【解决方案5】:

          遇到同样的错误,通过npm-check-updates帮助更新依赖版本

          ncu -u

          npm install

          【讨论】:

            猜你喜欢
            • 2021-09-26
            • 2021-10-27
            • 1970-01-01
            • 2021-05-31
            • 2021-08-07
            • 2020-06-08
            • 2018-05-20
            • 2023-03-05
            • 2019-12-17
            相关资源
            最近更新 更多