8得票1回答
如何在Dart中嵌套Streams(将Streams映射到Stream事件)?

类似于这个Flutter问题,我想要嵌套流(Stream)。 在Flutter中,通过嵌套StreamBuilder可以轻松实现此目标。然而,我不想使用小部件(widgets)来解决问题。相反,我想要仅用Dart来解决它。(这里的“嵌套”是指一个数据流(Stream)依赖于另一个数据流,并且这...

21得票7回答
如何测试来自future的异常

继续昨天的问题,我该如何测试异步方法是否会抛出异常。main(){ test( "test2", () async { expect( await throws(), throwsException); }); } Future throws () async { th...

10得票2回答
Dart Futures的链式调用 - 是否可以访问中间结果?

Dart允许使用future串联来按顺序调用多个异步方法,而不需要嵌套回调函数,这很棒。 假设我们想首先连接到数据存储(比如Redis),然后运行一堆连续的读取操作: Future<String> FirstValue(String indexKey) { ret...

56得票6回答
如何将多个流合并为一个更高级别的流?

我有两个流,Stream<A>和Stream<B>。我有一个类型为C的构造函数,它接受一个A和一个B。如何将这两个Stream合并成一个Stream<C>?

85得票13回答
有没有办法取消Dart的Future?

在Dart UI中,我有一个名为submit的按钮,用于启动一个长时间异步请求。该submit处理程序返回一个Future。接下来,将submit按钮替换为cancel按钮,以允许取消整个操作。在cancel处理程序中,我想要取消由submit处理程序返回的长时间操作。但我找不到可以这样做的方法。

9得票1回答
使用Dart,如何使用Future正确返回HttpResponse?

我正在尝试创建一个非常简单的http服务器,它只需要做一件事情。在接收到HttpRequest后,它会在本地数据库服务器上运行查询,并根据该查询返回一个字符串。 我正在学习Dart,但是我很难理解Futures。我以为我理解了它们,但是这个例子让我认为我真的不知道它们是如何工作的。因此,我不...

41得票2回答
在Dart中,我如何执行类似于setTimeout + clearTimeout的操作?

我正在将一些JavaScript代码移植到Dart。 我有一个使用window.setTimeout在一段时间后运行回调的代码。 在某些情况下,通过window.clearTimeout取消该回调。 在Dart中相当于什么呢?我可以使用new Future.delayed来替换setTime...

11得票1回答
如何在Flutter中实现持久的秒表?

我正在Flutter应用中实现一个计时器。这是应用的结构。 页面A(包含一些列表,用户点击后会进入计时器页面)。 页面B格式化并运行计时器。我能够正确地运行计时器/秒表,但是当我在页面B上按返回按钮时,我会得到“setState() called after dispose”错误。我知道这是...

18得票1回答
'dart:async'的函数`runZoned`的目的是什么?

有一个由`dart:async`提供的特殊函数叫做`runZoned`。文档在这里:https://api.dartlang.org/docs/channels/stable/latest/dart_async.html#runZoned。 我不确定这个函数的目的是什么,我们什么时候需要使用...

8得票3回答
Flutter: 避免在大规模数据库操作进行时出现UI卡顿

更新 (2020年7月15日) mFeinstein的答复,目前是给我提供了第一个可接受的解决方案的唯一答案。 问题 我想问您,对于我正在尝试做的事情,最好的方法是什么: 异步调用web服务 解析响应 执行大量的数据库操作 所有这些都必须在不冻结进度动画(如不定进度条)的...