Dart:函数的参数符号
Dart: function's parameter notation
我有时会发现这样的东西:
Future<List<Photo>> fetchPhotos(http.Client client) async {
final response = await client.get('https://jsonplaceholder.typicode.com/photos');
return compute(parsePhotos, response.body);
}
parsePhotos 函数所在位置:
List<Photo> parsePhotos(String responseBody) {
final parsed = json.decode(responseBody).cast<Map<String, dynamic>>();
return parsed.map<Photo>((json) => Photo.fromJson(json)).toList();
}
我看不懂compute(parsePhotos, response.body)
:parePhotos
函数接受了responseBody参数,但是compute
写的好像没有接受.那么,有人可以向我解释一下这个符号吗?
P.s。希望它足够清楚。
在
return compute(parsePhotos, response.body);
parsePhotos
和 response.body
只是两个独立的参数。
第一个是对传递给 compute
s callback
参数的 parsePhotos
函数的引用,第二个是传递给 [=] 的来自 client.get(...)
的响应数据18=] compute
函数的参数。
compute
所做的是创建一个以 parsePhotos
作为入口点的新隔离(如 main()
作为主隔离),然后将 message
传递给它作为范围。
所以不是这一行return compute(parsePhotos, response.body);
将response.body
传递给parsePhotos
而是
final Isolate isolate = await Isolate.spawn(
_spawn,
new _IsolateConfiguration<Q, R>(
callback,
message,
来自 compute
实施 https://docs.flutter.io/flutter/foundation/compute.html
我有时会发现这样的东西:
Future<List<Photo>> fetchPhotos(http.Client client) async {
final response = await client.get('https://jsonplaceholder.typicode.com/photos');
return compute(parsePhotos, response.body);
}
parsePhotos 函数所在位置:
List<Photo> parsePhotos(String responseBody) {
final parsed = json.decode(responseBody).cast<Map<String, dynamic>>();
return parsed.map<Photo>((json) => Photo.fromJson(json)).toList();
}
我看不懂compute(parsePhotos, response.body)
:parePhotos
函数接受了responseBody参数,但是compute
写的好像没有接受.那么,有人可以向我解释一下这个符号吗?
P.s。希望它足够清楚。
在
return compute(parsePhotos, response.body);
parsePhotos
和 response.body
只是两个独立的参数。
第一个是对传递给 compute
s callback
参数的 parsePhotos
函数的引用,第二个是传递给 [=] 的来自 client.get(...)
的响应数据18=] compute
函数的参数。
compute
所做的是创建一个以 parsePhotos
作为入口点的新隔离(如 main()
作为主隔离),然后将 message
传递给它作为范围。
所以不是这一行return compute(parsePhotos, response.body);
将response.body
传递给parsePhotos
而是
final Isolate isolate = await Isolate.spawn(
_spawn,
new _IsolateConfiguration<Q, R>(
callback,
message,
来自 compute
实施 https://docs.flutter.io/flutter/foundation/compute.html