欢迎!请参阅关于页面以了解更多关于其运作方式的信息。
为什么不支持在 cljs 中的 <!!?如果不存在很好的理由,增加 <!! 的支持不是很好吗?
<!!
core.async 的 <!! 操作是阻塞的,并且会阻塞当前线程。在单线程 JavaScript 中这是不可行的。
您可以使用poll!和offer!代替,它们是非阻塞的等效。只需牢记,它们不会“等待”值变得可用,因此您需要自行轮询,或者确保应该有一个。
就像其他人说的,<!!在JavaScript的上下文中没有意义,因为您从不想阻塞主线程,为了执行“等待”操作,它也必须这样做。
还存在take!,如果您不想自己实现轮询,它可以为您完成(更有效地),当值可用时,它会回调您。