Câu hỏi phỏng vấn Flutter
Câu hỏi

Hãy phân biệt AsyncAsync* trong Flutter?

Câu trả lời

Trong Dart, từ khóa asyncasync* đề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

  • Mô tả: Từ khóa 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.
  • Hoạt động: Hàm không đồng bộ 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.
  • Ví dụ:
  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*

  • Mô tả: Từ khóa 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ẻ.
  • Hoạt động: Hàm 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

middle

Gợi ý câu hỏi phỏng vấn

senior

Trong Flutter, tại sao phương thức build() trên State mà không phải StatefulWidgets?

middle

ScopedModel / BLoC Pattern là gì?

junior

Sự khác biệt giữa double.INFINITY và MediaQuery là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào