[Fluter/Dart] async await에 대한 <비동기 처리>
개요
오늘 Dart의 비동기 처리를 배웠습니다.
Async await 배웠어요.✏️
링크 세트
컨텐트
동기 처리, 비동기 처리는
자체 처리가 완료될 때까지 다음 처리를 수행하지 않음
처리가 완료되기 전에 다른 처리를 수행할 수 있음
한번 해 보았다.
const delays = [1, 2, 3];
void main() {
printLinesWithDelay();
}
Future<void> printLinesWithDelay() async {
for (final string in generateFutureStrings()) {
print(await string);
}
}
List<Future<String>> generateFutureStrings() {
return delays.map((delay) {
return Future.delayed(
Duration(seconds: delay),
() =>
'Printed with $delay second${delay > 1 ? 's' : ''} delay ${delay == delays.last ? '\nTa-da! All lines are printed!' : ''}',
);
}).toList();
}
[해설]이것은 1초에 한 번씩 명령행 메시지를 표시하는 프로그램이다.
[포인트]
Future.delayed(a, b)
의 경우a => (Durationという指定期間待ったあと処理を実行する)
및 b => (実行する処理)
// 1秒後にしょりを実行。
Future.delayed(const Duration(millisecond: 1000), () {
print('Hello World');
});
// 1.5秒まつ
Future.delayed(const Duration(millisecond: 1500),);
print('Hello World');
상술한 결과는 같고 사용 방법을 알면 여러 가지 상황에서 사용할 수 있다.기타
ASync await 를 배우는 과정에서
'아이솔레이트 아세요?'
이렇게 말했는데, 조사해 보니, 비동기적으로 자주 사용하는 컴퓨터 처리에 포함된 것 같다.
HTTP 통신 등의 결과를 얻은 상태에서 사용된 것 같다
then
처리.Isolates의 처리 자체도 존재하지만 사용 방법을 잘 모른다.Isolates 내에서만 처리되고 정보만으로도 결과를 받을 수 있을 것 같습니다.
나는 시간이 있을 때 좀 더 깊게 해 보고 싶다.
Reference
이 문제에 관하여([Fluter/Dart] async await에 대한 <비동기 처리>), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/tomofyro/articles/3e5eef4a2c3857텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)