Skip to content

Instantly share code, notes, and snippets.

View phuctd99's full-sized avatar
🖐️
Hello world!

phuctd99

🖐️
Hello world!
View GitHub Profile

Keybase proof

I hereby claim:

  • I am phuctd99 on github.
  • I am tranphuc (https://keybase.io/tranphuc) on keybase.
  • I have a public key ASBmvWyHF58bBy4t3S0cPWj-NrhM9zA0zoOlC9KHVyQyXgo

To claim this, I am signing this object:

@phuctd99
phuctd99 / Fetch
Last active March 28, 2024 02:36
So sánh giữa XMLHttpRequest và Fetch
* Fetch API là một thay thế hiện đại cho XMLHttpRequest.
* Sự khác nhau chủ yếu là Fetch hoạt động theo Promises, cho phép viết gọn ràng, dễ nhớ hơn là XHR
- Vậy Promises là gì? Giả sử bạn tạo ra một hàm có tên downloadFile(url) để download một tập tin từ Internet.
- Việc download một tập tin lớn có thể mất vài phút hoặc lâu hơn Khi gọi hàm downloadFile(url) một cách đồng bộ (synchronously) nó sẽ đóng băng mọi thao tác của người dùng cho tới khi nó hoàn thành, như vậy trong khoảng thời gian tập tin đang được download người dùng không thể thao tác với ứng dụng.
Do đó không thể có hàm sau:
var myfile = downloadFile("http://example.com/file.mp3");
- Cách giải quyết là trả về một lời hứa (Promises) thay vì tập tin
- Các trạng thái của Promises:
+Pending : Lời hứa đang thực hiện chưa biết kết quả