【发布时间】:2021-01-29 11:23:15
【问题描述】:
如果我使用 String 作为类型,则此代码有效,但如果我使用类,则无效。
调用代码:
Future<Card> getCard() {
return Future.value(currPack.getCard());
}
这里是getCard方法:
Future<Card> getCard() async {
return Card("a", "b");
}
这是 Card 类:
class Card {
String question = "";
String answer = "";
Card(String question, String answer) {
this.question = question;
this.answer = answer;
}
}
当我使用 Card 类时,我收到一条警告消息:
参数类型“Future
”不能分配给参数类型“FutureOr ”
如果我将返回类型从 Card 更改为 String 并将方法设置为返回字符串,它可以正常工作。
【问题讨论】:
-
Future<Card>应该可以分配给FutureOr<Card>。请发布一个可重现的示例。你确定你没有单独的Card类吗?也就是说,return Future.value(currPack.getCard())是多余的,可以只是return currPack.getCard()。