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
scallback
参数的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(
_产卵,
新的隔离配置(
回拨,
消息
从计算
实现感谢您的解释!