首页 文章

可以指定可以由具有同步或异步方法的类实现的Dart接口吗?

提问于
浏览
1

对于使用远程服务的Dart组件,我首先将Dart服务接口定义为抽象类(例如抽象类XService)和模拟类(类XServiceMock实现XService),使用同步方法实现我用于测试的服务API组件 . 我现在开始实现真正的代理(类XServiceImpl实现XService),它的一些方法使用'await / async'语言功能 . 'await'要求contains方法用async注释,这需要返回类型Future <Something>,并使其与XService中的方法签名冲突 . 我希望能够在不修改组件源代码的情况下注入模拟代理或真实代理 . 可以这样做,怎么做?

XService (api)
XServiceMock implements XService (sync methods only)
XServiceImpl implements XService (mixture of async and sync methods)

1 回答

  • 2

    这是不可能的 . 您可以做的是指定异步接口并从同步代码返回未来 .

    return new Future.value(someReturnValue);
    

相关问题