【问题标题】:TypeError: Cannot read property 'Symbol(Symbol.toStringTag)' of undefinedTypeError:无法读取未定义的属性'Symbol(Symbol.toStringTag)'
【发布时间】:2017-06-07 13:06:28
【问题描述】:

我在尝试运行用 Node.js 编写的机器人时遇到了一个不幸的错误。

每当尝试运行调用机器人的各种其他功能的初始化脚本时,我在代码中的各个不同点都会收到以下错误“TypeError: Cannot read property 'Symbol(Symbol.toStringTag)' of undefined” .我知道这是 JavaScript 的标准函数之一,所以我不确定它为什么会给我一个错误。

奇怪的是这些错误是新的,我之前已经多次运行脚本而没有遇到这个问题。

下面是async.js 中的第一个错误行,显示在第 175 行。

174 function isAsync(fn) {
175    return supportsSymbol && fn[Symbol.toStringTag] === 'AsyncFunction';
176 }

第二个例子是我自己的 bot_startup.js 中的第 43 行。

43 connectToServerCallback(null, "connected");

似乎每次尝试将数据转换为字符串时都会出错,但我不知道如何解决这个问题。任何帮助将不胜感激。

【问题讨论】:

  • 避免使用异步模块;承诺现在存在! \o/ 无论如何,我们可以看看bot_startup.js的来源吗?
  • 和 ../channels/channel_connect.js ?
  • 错误信息不是说fn是未定义的吗?
  • 我不这么认为,否则我认为它不会在 bot_startup 的第 43 行给我这样的错误

标签: javascript node.js


【解决方案1】:

对于那些想知道的人,我能够自己解决这个问题。

错误本身是由于未正确定义 async.waterfall 中调用的函数之一(提交到 Git 时出现错误,回滚了它调用函数的文件之一,使函数调用不再有效)。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-06-20
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
相关资源
最近更新 更多