我将什么传递给 Flutter Completer 对象?

What do I pass to the Flutter Completer object?

之前关于堆栈溢出的问题讨论了获取图像的大小,有人 post 给出了答案

    Future<ui.Image> _getImage() {
        Completer<ui.Image> completer = new Completer<ui.Image>();
        new NetworkImage('https://i.stack.imgur.com/lkd0a.png')
          .resolve(new ImageConfiguration())
          .addListener((ImageInfo info, bool _) => completer.complete(info.image));
        return completer.future;
  }

不幸的是,由于 complete.complete(info.image) 在 Android Studio 中出现错误,上面的代码无法编译:

the argument type 'image' can't be assigned to the parameter type 'FutureOr'

有人可以建议如何更正代码以使 Completer 对象正常工作吗?

我会询问已接受答案的原始 poster,但我还没有足够的声誉来发表评论。所以我在这里问这个问题。

原post的link在这里:

表示类型不匹配。

查看您的代码,它应该可以工作,因为 ImageInfo.image 应该 return ui.Image.

首先,你可以在构造函数中省略类型,像这样:

Completer<Image> completer = Completer();

如果您仍有问题,查看更多堆栈跟踪信息会很有帮助。