在打字稿中访问Nodejs流的highWaterMark属性给出:" Property' _readableState'不存在"错误

时间:2017-09-15 06:30:58

标签: javascript node.js typescript

我的问题是关于nodejs中的打字稿和流。我不想扩展流基类,并访问highWaterMark选项。

在打字稿中,以下代码有效(即打印了highWaterMark选项)

import * as stream from 'stream';

class ExampleStream extends stream.Readable {
  constructor() {
    super(options)
    console.log(this._readableState.highWaterMark)
  }

  _read() {}
  _write() {}
}

但是,打字稿给了我以下关于该行的错误消息:

console.log(this._readableState.highWaterMark)

[ts] Property' _readableState'类型' ExampleStream'。

上不存在

我该如何解决?

1 个答案:

答案 0 :(得分:0)

鉴于_readableState未作为公共API的一部分公开,我认为它不会/应该添加到节点类型中。要解决此问题,您可以将this强制转换为any并使用节点类型定义中不可用的proeprties:

console.log((this as any)._readableState.highWaterMark)