Function Dart:函数';s参数表示法

Function Dart:函数';s参数表示法,function,parameters,dart,notation,Function,Parameters,Dart,Notation,我有时会发现这样的东西: Future<List<Photo>> fetchPhotos(http.Client client) async { final response = await client.get('https://jsonplaceholder.typicode.com/photos'); return compute(parsePhotos, response.body); } Future fetchPhotos(http.Client)异步{ 最

我有时会发现这样的东西:

Future<List<Photo>> fetchPhotos(http.Client client) async {
final response = await client.get('https://jsonplaceholder.typicode.com/photos');
return compute(parsePhotos, response.body);
}
Future fetchPhotos(http.Client)异步{
最终响应=等待客户端。获取('https://jsonplaceholder.typicode.com/photos');
返回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();
}
列表解析照片(字符串响应库){
final parsed=json.decode(responseBody.cast();
返回parsed.map((json)=>Photo.fromJson(json)).toList();
}
我无法理解
compute(parsePhotos,response.body)
parePhotos
函数接受responseBody参数,但是在编写
compute
时,它似乎没有收到它。有人能给我解释一下这个符号吗? 请注意,希望足够清楚。

return compute(parsePhotos, response.body);
parsePhotos
response.body
只是两个独立的参数。 第一个是对传递给
compute
s
callback
参数的
parsePhotos
函数的引用,第二个是来自
client.get(…)
的响应数据,它传递给
compute
函数的
message
参数

compute
所做的是创建一个新的隔离,将
parsePhotos
作为入口点(如主隔离的
main()
),然后将
消息作为参数传递给它

所以它不是这一行
返回compute(parsePhotos,response.body)response.body
传递到
parsePhotos

final Isolate isolate = await Isolate.spawn(
    _spawn,
    new _IsolateConfiguration<Q, R>(
      callback,
      message,
最终隔离=等待隔离.spawn(
_产卵,
新的隔离配置(
回拨,
消息

计算
实现

感谢您的解释!