96得票2回答
如何在Dart中获取当前堆栈跟踪以用于Completer.CompleteException(exception, stackTrace);

如果一些代码返回一个 future 并确定该 future 应返回“错误”或“异常”,那么如何将堆栈跟踪传递给 Completer.completeException(exception, stackTrace);?

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

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

70得票10回答
Flutter - setState不更新内部Stateful Widget

基本上,我正在尝试制作一个应用程序,其内容将使用异步函数更新,该函数获取来自网站的信息,但是当我尝试设置新状态时,它不会重新加载新内容。如果我调试该应用程序,则会显示当前内容为新内容,但在“重新构建”整个小部件后,它不会显示新信息。 编辑:loadData()方法基本上使用http包读取URL...

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

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

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

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

26得票2回答
Dart/Flutter - 回调函数中的"yield"

我需要为一个函数生成一个列表;然而,我希望从回调函数中生成列表,而此回调函数位于主函数内部 - 这会导致yield语句不会在主函数中执行,而是在回调函数中执行。我的问题与此处解决的问题非常相似:Dart Component: How to return result of asynchrono...

26得票2回答
DART: 未来 then 的语法

我不理解then()子句的语法。 1. myFuture(6).then((erg) => print(erg)) (erg) => expr的语法结构是什么? 我认为它可能是一个函数,但是......then( callHandler2(erg) 无法工作,错误:"Mult...

25得票4回答
Flutter BLoC模式 - 如何在流事件后导航到另一个屏幕?

我关注的问题是在BLoC模式中使用的导航(navigation)。 在我的LoginScreen小部件中,我有一个按钮,用于将事件添加到bloc的EventSink中。 bloc调用API并验证用户身份。 在LoginScreen小部件中,我在哪里监听流,并在成功返回状态后如何导航到另一个屏幕?

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

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

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

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