问题标签 [cro]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
concurrency - 了解供应块点(按需供应)
我很难理解supply {…}
区块的用途/他们创造的按需供应。
实时供应(即来自 aSupplier
并在发出值时获取新值的类型Supplier
)对我来说很有意义 - 它们是异步流的一种版本,我可以使用它来将消息从一个或多个发送者广播到一个发送者或更多接收器。很容易看到响应实时消息流的用例:我可能希望每次从 GUI 界面获得 UI 事件或每次聊天应用程序广播它已收到新消息时都执行操作。
但是按需供应没有类似的意义。文档说_
点播就像 Netflix:每个开始流式传输电影(点击供应)的人,总是从头开始(获取所有值),无论现在有多少人正在观看。
好,可以。但是我为什么/什么时候需要这些语义?
这些例子也让我有点摸不着头脑。Concurancy 页面当前提供了三个块示例,但其中两个只是从循环中supply
发出值。for
第三个更详细一点:
在那里,supply
块正在做某事。具体来说,它对两个不同 (live) 的输入做出反应,Supplier
然后将它们合并为一个Supply
. 这似乎相当有用。
...除了如果我想转换两个Supplier
s 的输出并将它们的输出合并到一个组合流中,我可以使用
而且,确实,如果我用上面的/替换该supply
示例中的块,我会得到完全相同的输出。此外,如果将移到对 的调用下方,块版本和/版本都不会产生任何输出,这表明块的“按需”方面在这里并没有真正发挥作用。map
merge
supply
map
merge
tap
.emit
supply
在更一般的层面上,我不相信 Raku (或Cro)文档提供了任何块的示例,该supply
块不是以某种方式转换实时输出Supply
或基于for
循环或发射值Supply.interval
。Supply
除了作为转换s的不同方式之外,这些似乎都不是特别引人注目的用例 。
鉴于上述所有情况,我很想将supply
块作为一个不是那么有用的构造,除了作为某些Supply
组合器的可能替代语法之外。然而,我有相当好的权威,
虽然供应商经常被联系到,但很多时候最好编写一个发出值的供应块。
鉴于此,我愿意冒险一个相当自信的猜测,即我错过了一些关于supply
积木的东西。我将不胜感激任何洞察这可能是什么。
raku - 安装 Cro 的困难:“找不到依赖项:CBOR::Simple”
我希望在 Raku 中试用 Cro 库:https ://cro.services/docs
但是,当我尝试使用 安装它时zef
,我得到以下输出:
在 Ubuntu (WSL2) 和 Kali linux 上的结果相同。
raku - 作为对象的 Cro 模板
情景
我一直在 Cro 中使用模板(记录在https://cro.services/docs/reference/cro-webapp-template),并且很高兴其中有子。
我目前有一个“主”模板和一些报告,比如说report1、report2 和report3。
假设从report3 开始,我想包含report1 的数组。
现在,假设每个报告都有以下子项:
init:一些 Javascript 初始化代码(应该只包含一次,无论使用了多少报告实例)
HTML:报告的每个实例都应包含的一些 HTML 代码(带有一些参数来区分它,但由于 Javascript 框架的限制,可能不包含任何
<script>
或<style>
标签数据:每次包含报告时都必须重复的 Javascript 片段
目前我在模板中的一个单独的子中都有上述每一个。
问题
Redeclaration of symbol '&__TEMPLATE_SUB__report-initial'.
问题
虽然我可以将报告名称(例如“report1”)传递给主模板,但我缺少的是让主模板调用已传入的报告名称上的 subs 的方法,因为可能有多个涉及的报道。
我尝试过的想法
理想的情况是,如果我能以某种方式创建一个从模板继承的“报告”类,并将模板类的实例传递到主报告中,然后将 subs 作为报告类上的方法调用。但是,我一直无法找到一种方法来做到这一点。
我可以在这里看到三个可能的选项:
- 我的困难可能是我没有想到“The Cro Way”。如果有更好的方法来实现我想要做的事情,请告诉我
- 可能有一种方法可以实现我想要的,而我只是无法理解文档(或者它可能丢失了)
- 虽然不太可能,但 Cro 的设计可能并未考虑到这种可能性。
任何人都可以提供的任何帮助将不胜感激。
谢谢!
编辑:我认为一个可以有多个(命名的)“body”的宏可以解决这个问题。