【问题标题】:How to override abstract class for await and async?如何覆盖等待和异步的抽象类?
【发布时间】:2020-03-13 14:14:35
【问题描述】:

如何覆盖awaitasync

存储库

abstract class Repository {
    Observable<dynamic> addUpdateWorkImage(WorkImage workImage);
}

RepositoryImpl

@override
  Future<Observable> addUpdateWorkImage(WorkImage workImage) async {
    if (workImage.id.isEmpty) {
      final StorageReference firebaseStorageRef =
          FirebaseStorage.instance.ref().child('image.jpg'.toString());
      final StorageUploadTask task =
          firebaseStorageRef.putFile(workImage.imagePath);
          StorageTaskSnapshot storageTaskSnapshot = await task.onComplete;
      workImage.url = await storageTaskSnapshot.ref.getDownloadURL();
      return Observable.fromFuture(
          endpoints.workImageCollectionEndpoint.add(workImage.toJson()));
    }
  }

错误

'RepositoryImpl.addUpdateWorkImage' ('(WorkImage) → Future<Observable<dynamic>>') isn't a valid override of 'Repository.addUpdateWorkImage' ('(WorkImage) → Observable<dynamic>').

【问题讨论】:

    标签: flutter async-await observable abstract


    【解决方案1】:

    更新您的抽象接口以返回 Future

    abstract class Repository {
        Future<Observable<dynamic>> addUpdateWorkImage(WorkImage workImage);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多