小编Jef*_*xim的帖子

flask 和 flask-socketio 刷新都发出事件

你如何刷新一个flask-socketio发射事件,以便多条线流到客户端,而不是一次通过多条线?

我正在与 Flask 和 flask-socketIO 合作制作一个网络应用程序,让用户可以与开源国际象棋 AI 下棋,比如 gnuchess 和狡猾。国际象棋 AI 将他们的“思维”作为标准输出打印到服务器终端,但我使用 flask-socketIO 将这种思维发送给用户。

这一切都是设置和工作的,但我遇到的问题是,每一行思维都集中在一个大块中,而不是在 AI 打印时输出每一行。

例如,在与 gnuchess 对战时,服务器打印出这样的想法:

AI thinking: Thinking...
AI thinking: 1 +4 0 2 a5
AI thinking: 1 +9 0 4 b5
AI thinking: 1 +51 0 8 d5
AI thinking: 1 +53 0 21 Nc6
AI thinking: 2 -1 0 47 Nc6 Nc3
AI thinking: 3 +53 0 155 Nc6 Nc3 Nf6
AI thinking: 4 -1 0 613 Nc6 Nf3 Nf6 Nc3
Run Code Online (Sandbox Code Playgroud)

这些行流到我的服务器。在客户端,我发出 AI …

python websocket socket.io flask-socketio

5
推荐指数
2
解决办法
2349
查看次数

filterDescendant和带有slate.js的findDescendant

我正在使用slate.js制作一个所见即所得的编辑器,当时我正试图找到第一个带有文本的节点。

下图显示了我在说什么:

Slate.js找到第一个文本图片

在我的图片中,我希望找到包含“这是我的标题。”的节点,即使它前面有几行空行也是如此。

基本上,如果我在编辑器中写了一堆文本,该如何查找不是空字符串的第一个文本?

浏览文档,我发现filterDescendants和findDescendants函数似乎可以满足我的需求。

但是,我不清楚如何使用它们。

我已经尝试过这样的事情:

this.state.state.startBlock.findDescendant((d) => d.text !== "")

但这只是返回 null

文档说这findDescendant将“通过迭代器深度查找后代节点”,其中iterator是一个函数,但没有提供有关在此处传递哪种函数的示例。

有没有人有任何想法或例子?

javascript wysiwyg slate.js

2
推荐指数
1
解决办法
610
查看次数