'String?' 类型的值不能被 return 编辑,因为函数具有 return 类型的 'Future<String>?'
A value of type 'String?' can't be returned because function has return type of 'Future<String>?'
If the function has a declared return type, then update the type to
be Future<T>
, where T
is the type of the value that the function
returns.
当我使用此代码执行此操作时,出现错误:无法从方法 [=30] 中 return 编辑“String?
”类型的值=] 因为它有一个 return 类型的 Future < String>?
.
为什么会出现该错误?从 async
函数中 return 一个非空值的正确方法是什么?谢谢。
class Demo{
Future<String>? amethod() async{
String? variable1;
//await ...
return variable1;
}
}
您需要将 Future<String>?
更改为 Future<String?>?
或 Future<String?>
您的函数想要 return variable1
,类型为 String?
。由于该函数是异步的,它的 return 类型必须是 Future<String?>
,而不是 Future<String>?
。两者不相同:
- A return 类型的
Future<String>?
表示函数 return 是 null
或 Future
。 Future
完成 non-nullable String
.
- A return 类型的
Future<String?>
意味着函数总是 return 是 Future
,从不 null
。 Future
完成为 null
或 String
。
If the function has a declared return type, then update the type to be
Future<T>
, whereT
is the type of the value that the function returns.
当我使用此代码执行此操作时,出现错误:无法从方法 [=30] 中 return 编辑“String?
”类型的值=] 因为它有一个 return 类型的 Future < String>?
.
为什么会出现该错误?从 async
函数中 return 一个非空值的正确方法是什么?谢谢。
class Demo{
Future<String>? amethod() async{
String? variable1;
//await ...
return variable1;
}
}
您需要将 Future<String>?
更改为 Future<String?>?
或 Future<String?>
您的函数想要 return variable1
,类型为 String?
。由于该函数是异步的,它的 return 类型必须是 Future<String?>
,而不是 Future<String>?
。两者不相同:
- A return 类型的
Future<String>?
表示函数 return 是null
或Future
。Future
完成 non-nullableString
. - A return 类型的
Future<String?>
意味着函数总是 return 是Future
,从不null
。Future
完成为null
或String
。