0

是否可以在不引起换行符的情况下回显?例如,假设我想让三个点一个接一个出现一秒:

this.echo(".");
await sleep(1000);
this.echo(".");
await sleep(1000);
this.echo(".");

目前显示为:

.
.
.

但是我需要它显示为:

...
4

1 回答 1

1

使用版本2.8.0,您可以使用:

<script src="https://unpkg.com/jquery.terminal@2.8.0/js/echo_newline.js"></script>

它将为回声添加新选项(脚本是回声上的猴子补丁,但它比示例中的要好一些,并且它具有单元测试覆盖率)。

this.echo(".", {newline: false});
await sleep(1000);
this.echo(".", {newline: false});
await sleep(1000);
this.echo(".", {newline: false});

然后,如果您输入命令“foo”,您将:

...> foo
> |

如果您使用换行符回显点(默认为 true),您将拥有:

....
> |

你甚至可以使用:

term.echo('hello ', {newline: false});
term.echo('foo\n', {newline: false});

在未来的版本中,我可能会为整个终端引入选项换行符,这样您将始终需要为\n具有此选项的终端添加(但您仍然需要该echo_newline.js文件)。

于 2019-08-29T17:43:20.063 回答