Dart:异步抽象方法

问题描述 投票:1回答:1

我正在尝试设计一个抽象长期运行的接口,不应该直接从UI使用。为了抽象它,我创建了一个抽象类,使用唯一的方法来执行这样的操作:

abstract class MakeSomething {

  Result make(Param param);

}

但是我无法将其标记为async(尝试在签名之前,返回类型之前和分号之前放置)。是否可能,如果是的话 - 怎么样?

dart
1个回答
2
投票

async函数必须返回Future。如果你想让你的make函数异步,它必须返回Future<Result>

请注意,async不是函数类型签名的一部分; async是一个上下文关键字,enables the use of await在函数体内。这意味着async在声明抽象接口时不是很有用。重要的是函数返回一个Future,派生类可以选择是否使用async / await实现该函数。

© www.soinside.com 2019 - 2024. All rights reserved.