我正在尝试设计一个抽象长期运行的接口,不应该直接从UI使用。为了抽象它,我创建了一个抽象类,使用唯一的方法来执行这样的操作:
abstract class MakeSomething {
Result make(Param param);
}
但是我无法将其标记为async
(尝试在签名之前,返回类型之前和分号之前放置)。是否可能,如果是的话 - 怎么样?
async
函数必须返回Future
。如果你想让你的make
函数异步,它必须返回Future<Result>
。
请注意,async
不是函数类型签名的一部分; async
是一个上下文关键字,enables the use of await
在函数体内。这意味着async
在声明抽象接口时不是很有用。重要的是函数返回一个Future
,派生类可以选择是否使用async
/ await
实现该函数。