【问题标题】:queueMicrotask error when connecting Node Redis with Typescript使用 Typescript 连接 Node Redis 时出现 queueMicrotask 错误
【发布时间】:2021-09-23 08:40:21
【问题描述】:

我正在尝试使用 Typescript 和 NodeRedis 连接到 Redis 服务器,但我不断收到此错误。

ReferenceError: queueMicrotask is not defined
    at RedisClient._RedisClient_tick (/home/administrador/Documentos/node-api-skeleton/node_modules/redis/dist/lib/client.js:378:9)
    at RedisSocket.socket_1.default.on.on.on.on (/home/administrador/Documentos/node-api-skeleton/node_modules/redis/dist/lib/client.js:301:86)
    at RedisSocket.emit (events.js:198:13)
    at RedisSocket.EventEmitter.emit (domain.js:448:20)
    at RedisSocket._RedisSocket_connect (/home/administrador/Documentos/node-api-skeleton/node_modules/redis/dist/lib/socket.js:130:10)
    at process._tickCallback (internal/process/next_tick.js:68:7)

这是代码

const redisClient = createClient();
  redisClient.on('error', (err: Error) => {
    console.log('Error', err.name);
  });
  redisClient.on('connect', () =>
    console.log('Ok'));
  try {
    await redisClient.connect();
    await redisClient.set(token, email, {
      EX: 40,
      NX: true,
    });
    await redisClient.disconnect();
  } catch (err) {
    console.log('Error', err);
  }

我错过了什么吗?

【问题讨论】:

    标签: typescript node-redis


    【解决方案1】:

    我已经解决了这个问题。不知何故,我的节点版本是 10 并且 queueMicrotasks 没有在那个版本中实现。我已经更新了节点,现在它正在工作

    【讨论】:

    • 你好任何帮助。我面临同样的问题,但在我的情况下,我使用的是 node js v16 ST,遵循你的解决方案,但对我来说没有任何效果,这可能是我的服务器在 Redis 上运行Passenger、Node js(Express)和socket.io的问题Centos 7
    猜你喜欢
    • 2018-11-12
    • 2016-05-30
    • 2012-06-15
    • 2022-11-29
    • 2022-01-24
    • 2021-03-13
    • 2018-03-10
    • 2022-10-07
    • 2014-09-28
    相关资源
    最近更新 更多