问题标签 [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.

0 投票
2 回答
969 浏览

dart - Dart 语言支持 async/await 编程风格,还是类似的?

可以用 Dart 语言编写类似的代码吗?

0 投票
11 回答
33199 浏览

dart - 有没有办法取消飞镖未来?

在 Dart UI 中,我有一个按钮 [submit] 来启动一个长的异步请求。[submit] 处理程序返回一个 Future。接下来,将按钮 [提交] 替换为按钮 [取消] 以允许取消整个操作。在 [cancel] 处理程序中,我想取消长操作。如何取消提交处理程序返回的 Future?我发现没有办法做到这一点。

0 投票
1 回答
2233 浏览

dart - 为什么 Dart StreamController.addStream 在加入流时无法正常工作

给定以下 Dart 代码片段:

我得到以下输出:

从这个输出中有几件事我不明白:

  1. 为什么每个条目只有一个stream2stream3什么时候每个条目应该有 2 个?我创建的复合流是否使用来自和StreamController的事件之一?这种行为对我来说似乎很奇怪,我错过了什么吗?stream2stream3

  2. 为什么stream2并且stream3仅在完成时才stream1完成?当两者都有界时,这不是我所期望的自然行为,并且与.take(10)on的行为相矛盾stream1。如果我删除.take(10)onstream1然后实际上永远不会完成stream2stream3

如果我修改controller为也添加源stream1(参见下面的片段和输出),那么当它们的 2 个元素启动时, stream2andstream3实际上在它们的自然位置完成,但是我也得到一个异常,因为它试图监听其中一个流两次。

有人可以帮我弄清楚这里发生了什么吗?

谢谢,

0 投票
1 回答
651 浏览

dart - 期货/承诺,并追踪错误

简而言之,简单的代码片段,Futures (dart) 或 Promises (js),似乎为可怕的回调提供了一个模糊有用的解决方案。

例如,对于大型软件,当您正在与之交谈的服务器开始返回垃圾,触发深埋在第三方代码中的迄今为止看不见的异常时,就会出现问题。此时,在一个令人难以置信的长链中的某个地方,以 catchError 终止,您将成为新的“空指针异常”之类的幸运接收者。它从哪里来的?谁知道?显然,我们不会使用这些技术神奇地获得调用堆栈,并且没有任何有用的跟踪信息 - 在这个巨大的链中,某些特定的函数可能会被调用 50 次,并且在某些任意调用时,会引发错误。

遇到这种情况时最好采用什么策略?

0 投票
1 回答
2150 浏览

dart - 我怎么知道两个 Streams 何时完成?

我将 Dart 的 Streams 用于异步事件。我有两个流,我想知道两个流何时完成(又名关闭)。我想用期货来做这件事。我该怎么做?

0 投票
1 回答
908 浏览

dart - 如何在 Dart 中访问 HttpRequest 的响应结果?

经过多次尝试在 HttpRequest 中获取响应的内容后,我完全无法知道或理解为什么我不能拥有我想要的东西,我必须提到我只能在 onReadyStateChange(onLoad 和 onLoadEnd给我同样的结果!),但我真的想要回调之外的那个值。

这是我坚持的代码部分

0 投票
1 回答
79 浏览

dart - Dart http 方法中的一个奇怪行为不支持“GET”并且仅适用于谷歌的浏览器

我使用一种方法将数据发送到服务器端,但是当我使用 GET 方法时,请求无法到达该服务器,我不知道为什么即使我的代码块看起来也是逻辑的,这是第一个问题,第二个问题只是使用谷歌浏览器,它在其他浏览器上失败,我也不知道为什么,这是方法,谁能告诉我为什么会出现这种行为?

我这样称呼它:

即使我将它添加到服务器端的标题中,该方法也不会接受“GET”,并且它只适用于我提到的谷歌浏览器!如果有人有更好的解决方案,你能告诉我吗?

0 投票
1 回答
921 浏览

dart - 单元测试 Http 状态码

如何编写单元测试以返回作为 Future 一部分的响应的状态代码?在被卡住之前我已经走了这么远

这失败并显示消息

然后我尝试了

消息失败

0 投票
2 回答
224 浏览

dart - 延伸未来

我发现很多关于在 Dart 中使用但不是关于定义期货的内容。可以说我有letsWait()这需要一些时间。我如何使用Future课程?

这次尝试给了我一个:

unresolved implicit call to super constructor 'Future()' class ArtificialWait extends Future<String> {

0 投票
2 回答
2668 浏览

dart - 流和流有什么区别> 和流在飞镖

我正试图绕着 Dart Streams 转转。特别是命令行实用程序的cat这个示例具有以下代码行:

  1. Stream<T>as的声明让Stream<List<int>>我有点困惑。为什么不声明为Stream<int>. List<> 类型如何使它与众不同。如果它是一个列表,订阅者事件是否以某种方式缓冲?

  2. 什么类型(如 中<T>)被传递给第一个转换?是一个int还是一个List<int>

  3. 什么类型被传递给每个下一个转换,什么决定了它们的类型。

  4. 此示例是否在将转换结果传递给下一个转换之前读取整个文件?如果是这样,是否有一个示例说明如何流式传输类似于此 Node 问题的非常大的文件Parsing huge logfiles in Node.js - read in line-by-line