반응형
import 'dart:async';
Future<int> myAsync(int a) async{
await Future.delayed(const Duration(seconds: 2));
return a;
}
void main(List<String> arguments) async {
var futureList = <Future<int>>[myAsync(1), myAsync(2), myAsync(3)];
var start = DateTime.now();
var resList = await Future.wait(futureList);
print('${resList.runtimeType}');
var end = DateTime.now();
print('run time = ${end.difference(start)}');
var sum = resList.reduce((value, element) => value + element);
print('$sum');
}
log
List<int>
run time = 0:00:02.019648
6
중요한 부분은
var resList = await Future.wait(futureList);
입니다.
futureList의 요소인 myAsync(1), myAsync(2), myAsync(3) 은 병렬처리 됩니다.
그 결과는 List<int> 타입의 resList 에 저장됩니다.
'flutter.dev' 카테고리의 다른 글
json 파싱 (0) | 2021.07.06 |
---|---|
Hive (0) | 2021.05.25 |
permission_handler 사용법 (0) | 2021.04.12 |
[하는 중.]어셋과 이미지 추가하기 (0) | 2019.11.26 |
Provider (0) | 2019.11.05 |