问题标签 [dart-async]
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.
dart - Dart 语言支持 async/await 编程风格,还是类似的?
可以用 Dart 语言编写类似的代码吗?
dart - 有没有办法取消飞镖未来?
在 Dart UI 中,我有一个按钮 [submit] 来启动一个长的异步请求。[submit] 处理程序返回一个 Future。接下来,将按钮 [提交] 替换为按钮 [取消] 以允许取消整个操作。在 [cancel] 处理程序中,我想取消长操作。如何取消提交处理程序返回的 Future?我发现没有办法做到这一点。
dart - 为什么 Dart StreamController.addStream 在加入流时无法正常工作
给定以下 Dart 代码片段:
我得到以下输出:
从这个输出中有几件事我不明白:
为什么每个条目只有一个
stream2
,stream3
什么时候每个条目应该有 2 个?我创建的复合流是否使用来自和StreamController
的事件之一?这种行为对我来说似乎很奇怪,我错过了什么吗?stream2
stream3
为什么
stream2
并且stream3
仅在完成时才stream1
完成?当两者都有界时,这不是我所期望的自然行为,并且与.take(10)
on的行为相矛盾stream1
。如果我删除.take(10)
onstream1
然后实际上永远不会完成stream2
。stream3
如果我修改controller
为也添加源stream1
(参见下面的片段和输出),那么当它们的 2 个元素启动时, stream2
andstream3
实际上在它们的自然位置完成,但是我也得到一个异常,因为它试图监听其中一个流两次。
有人可以帮我弄清楚这里发生了什么吗?
谢谢,
dart - 期货/承诺,并追踪错误
简而言之,简单的代码片段,Futures (dart) 或 Promises (js),似乎为可怕的回调提供了一个模糊有用的解决方案。
例如,对于大型软件,当您正在与之交谈的服务器开始返回垃圾,触发深埋在第三方代码中的迄今为止看不见的异常时,就会出现问题。此时,在一个令人难以置信的长链中的某个地方,以 catchError 终止,您将成为新的“空指针异常”之类的幸运接收者。它从哪里来的?谁知道?显然,我们不会使用这些技术神奇地获得调用堆栈,并且没有任何有用的跟踪信息 - 在这个巨大的链中,某些特定的函数可能会被调用 50 次,并且在某些任意调用时,会引发错误。
遇到这种情况时最好采用什么策略?
dart - 我怎么知道两个 Streams 何时完成?
我将 Dart 的 Streams 用于异步事件。我有两个流,我想知道两个流何时完成(又名关闭)。我想用期货来做这件事。我该怎么做?
dart - 如何在 Dart 中访问 HttpRequest 的响应结果?
经过多次尝试在 HttpRequest 中获取响应的内容后,我完全无法知道或理解为什么我不能拥有我想要的东西,我必须提到我只能在 onReadyStateChange(onLoad 和 onLoadEnd给我同样的结果!),但我真的想要回调之外的那个值。
这是我坚持的代码部分
dart - Dart http 方法中的一个奇怪行为不支持“GET”并且仅适用于谷歌的浏览器
我使用一种方法将数据发送到服务器端,但是当我使用 GET 方法时,请求无法到达该服务器,我不知道为什么即使我的代码块看起来也是逻辑的,这是第一个问题,第二个问题只是使用谷歌浏览器,它在其他浏览器上失败,我也不知道为什么,这是方法,谁能告诉我为什么会出现这种行为?
我这样称呼它:
即使我将它添加到服务器端的标题中,该方法也不会接受“GET”,并且它只适用于我提到的谷歌浏览器!如果有人有更好的解决方案,你能告诉我吗?
dart - 单元测试 Http 状态码
如何编写单元测试以返回作为 Future 一部分的响应的状态代码?在被卡住之前我已经走了这么远
这失败并显示消息
然后我尝试了
消息失败
dart - 延伸未来
我发现很多关于在 Dart 中使用但不是关于定义期货的内容。可以说我有letsWait()
这需要一些时间。我如何使用Future
课程?
这次尝试给了我一个:
unresolved implicit call to super constructor 'Future()' class ArtificialWait extends Future<String> {
dart - 流和流有什么区别> 和流在飞镖
我正试图绕着 Dart Streams 转转。特别是命令行实用程序的cat
这个示例具有以下代码行:
Stream<T>
as的声明让Stream<List<int>>
我有点困惑。为什么不声明为Stream<int>
. List<> 类型如何使它与众不同。如果它是一个列表,订阅者事件是否以某种方式缓冲?什么类型(如 中
<T>
)被传递给第一个转换?是一个int
还是一个List<int>
?什么类型被传递给每个下一个转换,什么决定了它们的类型。
此示例是否在将转换结果传递给下一个转换之前读取整个文件?如果是这样,是否有一个示例说明如何流式传输类似于此 Node 问题的非常大的文件Parsing huge logfiles in Node.js - read in line-by-line