首页 > 解决方案 > 打字稿说我的回调不是一个函数,但它有效

问题描述

我有一个接受构造回调的类,以便它可以将数据发送回其父级。

class Chain {
  _callback: (data: ChainData) => void;

  constructor(callback: (data: ChainData) => void) {
    this._callback = callback;
    setInterval(this._refresh, 13 * 1000);
  }

  private async _refresh() {

    this._callback({
      height: 1,
      difficulty: 2,
      hashrate: 3,
      blocktime: 4
    });
  }
}

我发现有趣的是,它完美地工作,但每次调用它时我都会收到这个错误。同样,它在功能上是 100% 工作的。

(node:26146) UnhandledPromiseRejectionWarning: TypeError: this._callback is not a function
    at Timeout.<anonymous> (/Users/lukepighetti/code/typescript/bot/lib/services/chain.ts:17:10)
    at Generator.next (<anonymous>)
    at fulfilled (/Users/lukepighetti/code/typescript/bot/lib/services/chain.ts:4:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)

我做错了什么,如何摆脱这个看似毫无意义的错误?

标签: typescript

解决方案


推荐阅读