Hãy phân biệt Async
và Async*
trong Flutter?
Hãy phân biệt Async
và Async*
trong Flutter?
Trong Dart, từ khóa async
và async*
đều được sử dụng để xử lý các hoạt động không đồng bộ, nhưng chúng phục vụ cho các mục đích khác nhau.
async
được sử dụng để đánh dấu một hàm là không đồng bộ. Nó cho phép sử dụng await
bên trong hàm và trả về một Future
.async
thực thi tuần tự cho đến khi gặp từ khóa await
đầu tiên. Điều này có nghĩa là tất cả mã đồng bộ bên trong thân hàm async
sẽ thực thi ngay lập tức. Future<int> doSomeLongTask() async {
await Future.delayed(const Duration(seconds: 1));
return 42;
}
void main() async {
int result = await doSomeLongTask();
print(result); // prints '42' after waiting 1 second
}
async*
đánh dấu một hàm là một trình tạo (generator) không đồng bộ, trả về một Stream
của các giá trị thay vì một giá trị đơn lẻ.async*
được sử dụng để tạo ra một hàm trả về nhiều giá trị trong tương lai, mỗi kết quả được...middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào