【发布时间】:2015-03-09 23:33:58
【问题描述】:
是否可以将同步和异步函数集成到一个调用/接口中,同时保持静态类型?如果可能的话,它能否与继承保持中立,即不将同步方法包装在异步中,反之亦然(尽管这可能是最好的方式)。
我一直在阅读,发现通常建议将它们分开(http://www.tagwith.com/question_61011_pattern-for-writing-synchronous-and-asynchronous-methods-in-libraries-and-keepin 和 Maintain both synchronous and asynchronous implementations)。但是,我想这样做的原因是我正在为 Dart 语言创建一个行为树框架,并且发现很难将同步和异步“节点”混合在一起进行迭代。似乎这些可能需要保持分开,这意味着适合同步方法的节点必须是异步的,或者相反,如果它们要位于同一“树”内。
我正在寻找专门针对 Dart lang 的解决方案,尽管我知道这完全属于一般编程概念的范畴。我对这无法实现但值得一试持开放态度。
感谢您的阅读。
【问题讨论】:
-
读得很好!非常有意思。所以基本上你的意思是,不要使用 Dart,而是使用 Go? ;) 你认为同步功能会消失吗?
-
一旦在 Dart 中添加了某种“阻塞”功能(参见 fetch),这将有助于打破同步和异步之间的区别。是的,Go 在这方面更加成熟。我期待看到 fletch 的发展历程。
标签: asynchronous dart synchronous typed