- vừa được xem lúc

PROMISE - p1

0 0 9

Người đăng: Kiên trì

Theo Viblo Asia

Giới thiệu

Tại sao cần dùng promise trong js, khi đó ta cần hiểu về 1 số định nghĩa về syncasync trong js

  • Js là một ngôn ngữ đồng bộ sync
  • Nhưng nó cũng có 1 số hàm thao tác bất đồng bộ async

VD: setTimeout, setInterval, fetch, XMLHttp Request, file reading, request animation frame

Pain (nỗi đau)

Trong Naruto - hoạt hình Nhật Bản, nhân vật Pain có câu nói: " Những kẻ không hề biết đến nỗi đau thực sự sẽ không bao giờ biết đến hòa bình thực sự." 😃)

Để hiểu rõ về khái niệm promise thì khi không có promise thì khi giải quyết vấn đề (pain) gì thì ta cần dùng promise?

Vấn đề này thường được gọi tên là Callback hell hay JavaScript Pyramid of Doom

Khi nhiều callback lồng nhau, các công việc cần giải quyết phụ thuộc vào nhau, output việc 1 là input cho việc 2,.....Làm code trở nên khó đọc, khó hiểu và khó bảo trì.

image.png

Khi đó dùng promise js hỗ trợ xử lý các thao tác bất đồng bộ thay cho callback.

Concept

Cú pháp:

 var promise = new Promise( function(resolve, reject) { //logic  // resolve: success ! // reject: fail reject('co loi'); } promise .then(function() { //logic success }) .catch(function(error) { console.log(error) }) .finally(function() { console.log('proccess done') })

Khi định nghĩa promise có 3 trạng thái:

  • Pending
  • Fulfilled
  • Rejected

Đi vào phần thực hành thì mình sẽ note lại ở bài sau 😃

Bình luận

Bài viết tương tự

- vừa được xem lúc

Các khái niệm cần nắm khi lập trình Javascript

Lập trình với JavaScript hàng ngày nhưng bạn có biết, đằng sau các đoạn code thì JS đang hoạt động như thế nào? Bài viết này sẽ đề cập đến các khái niệm bạn cần nắm khi lập trình với JavaScript. .

0 0 11

- vừa được xem lúc

How JavaScript Works Behind The Scenes (Part 1)

JavaScript, the backbone of web interactivity, is in high demand. It’s crucial for creating dynamic, user-friendly web applications.

0 0 15