集成同步和异步库

时间:2015-03-09 23:33:58

标签: asynchronous dart synchronous typed

同步和异步功能可以集成到一个调用/接口中,同时保持静态类型吗?如果可能的话,它是否可以继承中性,即不在异步中包装同步方法,反之亦然(尽管这可能是最好的方法)。

我一直在阅读并看到它通常建议将这些分开(http://www.tagwith.com/question_61011_pattern-for-writing-synchronous-and-asynchronous-methods-in-libraries-and-keepinMaintain both synchronous and asynchronous implementations)。但是,我想要这样做的原因是我正在为Dart语言创建一个行为树框架,并且发现很难将sync和async'节点'混合在一起进行迭代。似乎这些可能需要保持独立,这意味着适合同步方法的节点必须是异步的,或者相反,如果它们在同一个“树”内。

我正在寻找一种特别适合Dart lang的解决方案,虽然我知道这是一般编程概念的领域。我对此无法实现,但值得一试。

感谢您的阅读。

1 个答案:

答案 0 :(得分:1)

您当然可以同时使用同步和异步功能。您可以做的是在调用异步函数后返回同步执行。

在我看来,维护同步和异步方法主要是浪费时间。有时同步版本很方便不必为一些简单的操作调用异步调用,但一般来说Dart异步是Dart的一个组成部分。如果你想使用Dart,你必须习惯它。 使用新的async / await功能,您可以编写使用异步功能的代码,几乎与仅使用同步功能时相同。