我将什么传递给 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();
如果您仍有问题,查看更多堆栈跟踪信息会很有帮助。
之前关于堆栈溢出的问题讨论了获取图像的大小,有人 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();
如果您仍有问题,查看更多堆栈跟踪信息会很有帮助。