Promise là gì? Khi làm sao sử dụng Promise ? Ở phần trước, họ vẫn nói tới callbaông xã là gì? Và vào bài viết này, bọn họ sẽ làm rõ vấn đề này trải qua đầy đủ ví dụ xuất xắc xảy ra trong lập trình sẵn javascript. Bạn đang xem: Promise là gì
Series Callbachồng Javascript: Phần 3 : Async/Await Là Gì? Khác Gì Với Promise Trong Javascript?
< Tự Học Javascript> - Nếu Có Async/Await Rồi Thì Promise Có Còn Lỗi Thời? Không Cần Thiết Dùng Đến Hay Không?
Thật ra bởi có khá nhiều chúng ta thần thánh Promise do đó mang đến nó là trang bị cao thâm và thần thánh. Đúng là nó cao niên thật nhưng lại nó không thần thánh và nặng nề đọc hoặc cạnh tranh áp dụng những điều đó. Thực tế là promise là một special JavaScript object tương tự như những object khác mà thôi. Promise góp họ thực thi phần lớn func không giống với trả về đến chúng ta nhằm thường xuyên xử trí với rất nhiều quy trình.
Xem thêm: Rtsp Là Gì - Real Time Streaming Protocol (Rtsp) Là Gì
Nói dễ dàng và đơn giản nhé. khi ngỏ lời yêu một cô nàng như thế nào kia. khi msinh hoạt lời "Em bao gồm làm cho người yêu anh không?" Đó chính là một promise rõ ràng là new Promise(). Và Lúc ngỏ lời thì tinh thần vẫn là pending, và tất nhiên tác dụng là chưa chắc chắn cô ấy gật đầu tốt không? Cho bắt buộc result là đắn đo.
Nhiều ngôi trường thích hợp đề xuất vào lập trình chúng ta phải tạo lập trình đồng nhất, nghĩa là chúng ta cần chạy function 1 để sở hữu data 1, dùng data 1 để query data 2. Mà vào javascript là chạy bất đồng hóa, buộc phải chính hôm nay chúng ta buộc phải sử dụng Promise. Nhưng trước nhất các bạn coi cú pháp về Promise. Đoạn này đề nghị ghi rõ ra, cùng cú pháp của promise là như vậy này:
let promise = new Promise(function(resolve sầu, reject) // tương đương với ngỏ lời yêu)khi promise thực thi chấm dứt công việc, nó đã hotline một trong những hàm mà nó dìm làm cho đối số.Đó là resolve(value) cùng reject(error). Nó đồng nghĩa là khi ngỏ lời yêu thương thì sau khi chờ đợi pending thì sẽ sở hữu được nhị công dụng từ cô bé kia.Đồng ý or Từ Chối hận.. Hai đối số trên cũng vậy. resolve(value) - Đồng ý dịp kia status đang là "fulfilled", với result đó là values.reject(error) đồng nghĩa với vấn đề phủ nhận, xem nlỗi một lỗi khi tỏ tình, dịp đó status đã là "rejected" và result chình là error.
Vậy bọn họ đọc nôm mãng cầu về câu chuyện tình yêu nhé. Và bây giờ chúng ta vẫn đi vào một trong những ví dụ rõ ràng nhằm làm rõ hoen Promise là gì? Và bao giờ vận dụng nó nhé. Ví dụ: Cô ấy gật đầu đồng ý nhé. hé hé
//Em tất cả yêu thương anh không?let promise = new Promise(function(resolve, reject) //Cô ấy vờ vịt suy nghĩa trung bình 1000ms nhésetTimeout(() => resolve("Dạ, em yêu anh"), 1000); // ngon rồi , ngon rồi nghĩa là cô ấy trả lời)khi Promise được giải quyết thành công xuất sắc thì kia rất có thể là 1 tin vui. Crúc ý nhé họ chỉ biết status là fulfilled thôi nhé. Chưa biết ko yêu hay gồm yêu thương đâu. Muốn nắn biết được thì liên tục chạy hàm .then(). Tiếp tục cách xử trí tiếp. // resolve runs the first function in .then promise.then( result => alert(result), // shows "Dạ, em yêu thương anh" sau 1000ms error => alert(error) // tất nhiên hàm này sẽ không chạy, vì status là cô ấy vấn đáp với thành công. )
lấy ví dụ như cô ây từ chối
//Em bao gồm yêu thương anh không?let promise = new Promise(function(resolve sầu, reject) //Cô ấy gỉa vờ suy nghĩa tầm 1000ms nhé và yên ổn luôn :DsetTimeout(() => reject(new Error("Whoops!")), 1000); // Rất tiếc nuối phiên bản về xem lại bạn dạng thân bản thân đi tại vì sao lại như vậy chđọng :()
Đó là một ví dụ giúp chúng ta cách xử trí sau khoản thời gian cô ấy thừa nhận lời yêu thương thì có thể kiss or xxx được rồi.Tiếp theo phần 3 tôi đã trình làng về Promises chaining mời các bạn đón gọi cùng đi không còn series này. Lúc kia tôi nghĩ về những chúng ta có thể vận dụng một giải pháp thuần thục cùng biết khi nào rất có thể cần sử dụng promise rồi đó.Cảm ơn và mời các bạn hiểu đọc: Series Callbaông xã Javascript: Phần 3 : Async/Await là gì? Khác gì với Promise vào javascript?
Cũng như thể trên
// reject runs the second function in .thenpromise.then(result => alert(result), // doesn't runerror => alert(error) // shows "Error: Whoops!" after 1 second)
Qua một ví dụ cụ thể bọn họ thấy thật ra áp dụng promise cũng không quá khó khăn dẫu vậy kia là một trong những basic, còn không hề ít cú pháp cùng đôi khi trên phố đời lan tràn à quên con đường đời LTV thì có khá nhiều cú pháp nó còn ma ngươi không chỉ có thế giỏi nói một cách khác là Promises chaining Một ví dụ về Promises chaining
new Promise(function(resolve sầu, reject) setTimeout(() => resolve('em yêu thương anh'), 1000); // (*)).then(function(result) // (**)alert(result); // em yêu thương anhreturn 'kiss thôi...';).then(function(result) // (***)alert(result); // kiss thôireturn 'xxx thôi';).then(function(result) alert(result); // xxx thôi return 'oh yea baby'; //kakakakak)Link tổng thể Series bài viết:
Series Callbachồng Javascript: Phần 3 : Async/Await Là Gì? Khác Gì Với Promise Trong Javascript?
< Tự Học Javascript> - Nếu Có Async/Await Rồi Thì Promise Có Còn Lỗi Thời? Không Cần Thiết Dùng Đến Hay Không?