Flutter异步(Future/async/await)返回的是一个Future

  • 发表于
  • flutter

当你调用Flutter的一个异步函数方法(Future、async、await)),回返的是一个Future对象,而不会是你return的数据。例如:

getBaseTT() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String stringValue = prefs.getString('baseTT');
return stringValue;
}

你将得到:

I/flutter ( 1173): Instance of 'Future<dynamic>'
Flutter异步(Future/async/await)返回的是一个Future

那要如何得到返回的数据呢?

这里要分开来讲,如果你的数据是用来做解析的,比如JSON数据,那么你肯定已经将JSON转好对象了,这个场景没有疑问。但若你不是用来解析数据,只是用来返回数据,那么可用then方法返回:

apiT.getBaseTT().then((result) {
print("接口返回的数据是:${result}");
});