你如何刷新一个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 …
我正在使用slate.js制作一个所见即所得的编辑器,当时我正试图找到第一个带有文本的节点。
下图显示了我在说什么:
在我的图片中,我希望找到包含“这是我的标题。”的节点,即使它前面有几行空行也是如此。
基本上,如果我在编辑器中写了一堆文本,该如何查找不是空字符串的第一个文本?
浏览文档,我发现filterDescendants和findDescendants函数似乎可以满足我的需求。
但是,我不清楚如何使用它们。
我已经尝试过这样的事情:
this.state.state.startBlock.findDescendant((d) => d.text !== "")
但这只是返回 null
文档说这findDescendant将“通过迭代器深度查找后代节点”,其中iterator是一个函数,但没有提供有关在此处传递哪种函数的示例。
有没有人有任何想法或例子?