Flutter에서 비동기식 처리를 여러 개 수행할 때의 4가지 실행 모드
Future<String> asynchronous(String param) async {
  return '戻り値: $param';
}
여러 비동기식 처리를 직렬로 수행
Future<void> example1({required List<String> parameters}) async {
  for (final String param in parameters) {
    await asynchronous(param);
  }
}
여러 비동기 프로세싱을 순차적으로 수행
Future<void> example2({required List<String> parameters}) async {
  const int threadNum = 3;
  List<Future<bool>> futures = <Future<bool>>[];
  Future<bool> f(String param) async {
    await asynchronous(param);
    return true;
  }
  for (final List<String> subParams in partition(parameters, threadNum).toList()) {
    futures = subParams.map((String param) => f(param)).toList();
    await Future.wait(futures);
  }
}
동시에 여러 비동기식 프로세싱 수행
Future<void> example3({required List<String> parameters}) async {
  final List<Future<bool>> futures = <Future<bool>>[];
  Future<bool> f(String param) async {
    await asynchronous(param);
    return true;
  }
  for (final String param in parameters) {
    futures.add(f(param));
  }
  await Future.wait(futures);
}
여러 비동기식 작업을 동시에 수행할 수 있는 수 제한 및 실행
Future<void> example4({required List<String> parameters}) async {
  const int threadNum = 3;
  int currentIndex = 0;
	
  final List<Future<bool>> futures = <Future<bool>>[];
  Future<bool> f() async {
    while (currentIndex < parameters.length) {
      final String param = parameters[currentIndex];
      currentIndex++;
      await asynchronous(param);
    }
    return true;
  }
  for (int threadIndex = 0; threadIndex < threadNum; threadIndex++) {
    futures.add(f());
  }
  Future.wait(futures);
}
참고 자료
Reference
이 문제에 관하여(Flutter에서 비동기식 처리를 여러 개 수행할 때의 4가지 실행 모드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/moimoi_prog/articles/fda2be542c326c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)