问题标签 [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 投票
1 回答
159 浏览

dart - 如何从 JavaScript 监听器创建 Dart Stream

我想创建一个 Stream ,它应该包含与以下代码中的回调相同的元素:

我阅读了 Chris Buckett 的教程/文章,但不确定是否可以在第一个 Consumer 出现时创建 Stream 元素。在上面的代码中,这意味着当 Dart Stream 被监听时注册 javascript 监听器。

由于在初始化之前引用了updateStreamController,以下代码无法工作:

不幸的是,onListen属性只能通过构造函数设置。

在此先感谢您的帮助

0 投票
2 回答
204 浏览

dart - 为什么 onError 处理程序不会在 Http.call() 未来触发?

我正在尝试使用 Http 服务发出 Web 请求。请求失败(如预期)并返回 403。我希望 onError 处理程序会执行,但事实并非如此。抛出异常并且永远不会被捕获。

抛出的异常(从控制台):

难道我做错了什么?或者这是一个错误?

更新

我也尝试了以下方法,它也不起作用。

0 投票
2 回答
200 浏览

webgl - 从 ImageElement 加载中获取 Future

这是Use of futures for async loading的后续内容

我的 WebGL/Dart 程序在初始化时需要创建大量的 opengl 数据。这一切都是异步加载的,并在加载时使用期货来处理数据,并知道何时加载了所有必需的数据。

我在加载纹理时遇到了麻烦。我有这个代码 -

这工作正常。它加载图像并在图像到达时从中制作纹理。但是我需要我的主程序知道我的所有纹理何时到达。基于上一个问题,我应该为每个人使用一个未来,并使用 Future.wait 等待他们都准备好。

但是,如上所述加载图像不使用期货,它使用 StreamSubscription 所以我没有从这个函数中得到等待的未来。

我怎样才能得到一个让我知道我的纹理何时是创建者的未来对象?我可以创建自己的 Future 对象并在回调中“发出信号”吗?如果我能做到这一点,从文档中我根本不清楚我是如何做到的。

0 投票
2 回答
410 浏览

dart - 在已经收听流之后使用 Dart Route 处理 POST 数据

我正在使用路由来处理对我的服务器的 http 请求。这是我当前的路线代码:

我正在尝试获取要发布到 URL 的 JSON 数据。数据将用于从数据库中获取实体并将其作为 JSON 返回给调用者。我基本上是在尝试创建一个将处理所有数据的服务器应用程序和一个将显示它的客户端应用程序。

我不知道如何从 POST 中获取数据。我尝试过的所有事情都要求我收听流,但它已经被收听了。这就是我一直在尝试获取 POST 数据的方式:

问题是我得到一个Bad state: Stream has already been listened to.错误。

编辑:过滤器

0 投票
2 回答
19490 浏览

dart - DART:未来的语法 then

我不明白该then()子句的语法。

1. myFuture(6).then( (erg) => print(erg) )

什么(erg) => expr是语法?

我认为它可能是一个函数,但是

不起作用,错误:

2. myFuture(5).then( (erg) { callHandler(erg);}, onError: (e) => print (e)

3.onError:变体和.catchError(e)变体有区别吗?

0 投票
2 回答
172 浏览

dart - DART:如何编写返回 Future 的耗时函数

我必须编写一个耗时的函数,如果它准备好了,它将返回一个 Future。下面的方法是否正确,或者我在第 9 行中的耗时算法是否会阻止程序直到它准备好。在这种情况下,我该怎么做才能将控制权交还给事件循环,或者还有什么可以解决的?

Tnx米查

0 投票
1 回答
598 浏览

dart - 在 Dart 中读取单元测试的数据文件

我正在使用此代码段在单元测试中读取数据文件:

在 Dart 编辑器中运行我没有收到错误(但没有打印输出),

(编辑:删除命令行错误;dart vm 已过期)

我不需要读取异步文件。

0 投票
1 回答
231 浏览

dart - Dart 中的惯用流?

在玩 Dart,尤其是dart:io库时,我发现自己用 Streams 做了一些奇怪的事情来允许多个听众。

例如,我想模拟在许多 Node 库(如 Connect & Express)中发现的处理程序堆栈模式。为此,我需要能够在请求(和响应)上设置多个侦听器,这意味着从请求中生成广播流。

这不能是我传递的唯一东西,因为它不维护请求对象的属性(例如响应)。

显示问题的示例处理程序可能如下所示:

做这种事情的惯用方式是什么?我不想强迫 Dart 符合我的 JavaScriptish 方式。

0 投票
1 回答
148 浏览

dart - 飞镖计时器出错了?

这是我在 Dart 中的第一个程序,我只是想看看它的异步功能。知道 javascript 我写了以下代码:

飞镖编辑器上的输出是:

同时打印所有 3 个输出。那不是错了吗?fib3 要快得多,应该先打印。

0 投票
1 回答
568 浏览

dart - 飞镖期货(CSS 动画)

我正在尝试编写一些动画,但我无法理解 Futures 在 Dart 上的工作方式。

主要问题是动画本身是一个异步过程,如果我尝试链接几个点,它们会堆积起来,精灵会直接移动到最后一个点。我见过的所有示例都在函数返回值时起作用,但在处理动画时并非如此。

我希望能够检测到动画完成后,以触发下一个动作,但到目前为止我还没有真正成功。

这是我的代码: