NodeJS:SSH2 - 从流中读取最后 1000 个字母

NodeJS: SSH2 - Read last 1000 letters from stream

我有一个 Vue 应用程序,其中包含一个 xterm 组件并与其并行我正在使用 ssh2/shell 作为具有全局 Vue 插件的客户端。
我可以通过我的 ssh 插件连接到我的 xterm 组件上的服务器,并使用 stream.on('data', cb) 事件将我的 ssh 流写入 xterm。
到目前为止一切顺利,完美无缺。

我的问题从这里开始...如果我切换到另一个 Vue 路由并返回到我的 xterm 组件。
xterm 组件被重新创建,当然是空的。有没有办法访问旧的流数据以及我从现有流对象(它存在于我的全局 Vue 插件中)离开组件后错过的流数据?我只需要用我的 ssh 连接的最后 1000 个字母来初始化我的 xterm 组件。

我只是调用我的 'on Data' 事件一个单独的函数并将 data/chunks 复制到一个字符串。当我重新创建我的终端组件时,我使用缓冲区字符串初始化内容。此外,我可以观察我的“缓冲区”是否太满并对其进行切片。
如果有人遇到同样的情况,这里有一个例子:

stream.on('data', (data) => {
    ...
    this.buffer(data)
})
...
buffer(data) {
    this.streamBuffer += data // Saving data/chunks

    const bufferLength = this.streamBuffer.length
    if (bufferLength > 10000) {
        this.streamBuffer = this.streamBuffer.slice(bufferLength - 8000)
    }
}