我正在尝试设计一个接口,该接口抽象不应直接从 UI 使用的长时间运行的操作。为了抽象它,我创建了一个抽象类,其中包含执行此类操作的唯一方法:
abstract class MakeSomething {
Result make(Param param);
}
Run Code Online (Sandbox Code Playgroud)
但是我不能将它标记为async
(试图放在签名之前,返回类型之前和分号之前)。有可能吗,如果有的话 - 怎么做?
是否有现有的 API 可以将Future
对象列表分组为一个,以便我可以等待所有对象完成?就像在 javascript 的Promise.all
.
在 Java 中,货币通常存储在BigDecimal
. 但是在 Dart 中用什么来存储货币值呢?BigInt
似乎不是一个解决方案,因为它仅适用于整数值。
我正在使用Mapquest 方向 API,我的目标是在一堆地图点(3 个或更多)之间创建一条路线。
以下是端点“to”参数的 API 规范,用于获取给定点集的路线(它对应于目的地):
当输入格式为键/值对时,路由请求的结束位置。可以提供多个参数。这仅用于单行地址。
请参阅位置文档,了解如何正确形成所有格式(包括 JSON 和 XML)的位置。
AFAIK 这意味着可以为查询指定多个“to”参数,例如“ http://www.mapquestapi.com/directions/v2/route?from=40.65,73.95&to=40.87,-73.85&to=40.70,- 73.56 . 我的说法正确吗?
因此,假设我正确理解了规范,我需要构造一个适当的URI
实例,将其分派给 http 的库get
方法。问题在于它Map<String, String
在构造函数中接收了一个查询参数,而map意味着唯一性。如何使用URI
类构造这样的请求?
我尝试通过仅检索实例的字符串表示形式URI
而不指定to
键值对并仅to
在字符串末尾写入串联的 -s 并随后传递给http.get
. 我错过的是URI
照顾字符的转义,当SDK已经为我提供了URI
类时,我自己写这样的东西似乎是完全不合适的。