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

Làm thế nào mà whenComplete() khác biệt so với then() trong Future?

Câu trả lời

whenComplete()then() là hai phương thức được sử dụng trong lập trình bất đồng bộ với Future trong Dart, nhưng chúng có những đặc điểm khác biệt.

then() là phương thức cho phép bạn đăng ký một callback sẽ được thực thi khi Future hoàn thành. Callback này có thể truy cập vào dữ liệu được trả về từ Future nếu nó hoàn thành mà không có lỗi. Nếu Future hoàn thành với lỗi, bạn có thể cung cấp một callback onError để xử lý lỗi đó[9].

whenComplete(), mặt khác, là phương thức cho phép bạn đăng ký một hành động sẽ được thực hiện sau khi Future hoàn thành, bất kể kết quả là thành công hay thất bại. Đây là tương đương với khối finally trong cấu trúc try-catch-finally, nơi mà mã sẽ được thực thi dù cho có lỗi xảy ra hay không. Nếu hành động trong whenComplete() ném ra một lỗi, hoặc trả về một Future khác mà sau đó hoàn thành với lỗi, Future trả về từ whenComplete() cũng sẽ hoàn thành với lỗi đó. Giá trị trả về từ hành động trong whenComplete() luôn luôn bị bỏ qua[8][11].

Ví dụ, nếu bạn muốn thực hiện một số dọn dẹp hoặc giải phóng tài nguyên sau khi một `...

middle

middle

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

middle

Làm thế nào để tạo HTTP Requests trong Flutter?

middle

Các chế độ build trong Flutter là gì? Giải thích chúng

senior

Làm thế nào để chuyển đổi một List thành Map trong Dart?

Bình luận

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

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