Chào đều bạn, ES7 sẽ trình làng được một thời hạn rồi, một giữa những chức năng khá nổi bật mình thích trình làng từ bây giờ chính là async/await, công dụng cực kì tiện lợi khi sử dụng callback dựa vào căn nguyên promise trước đây.Quý khách hàng đã xem: Async là gì

Async/await là gì?

Trước tiên thuộc mày mò async/await qua hầu như reviews ngắn thêm gọn này nhé:

Async/await là cách new nhằm viết code bất nhất quán. Các cách thức thao tác với code bất đồng điệu trước đấy là thực hiện callbaông xã với promise.Async/await là tư tưởng được thiết kế trên tầng bên trên promise. Do kia nó cần yếu thực hiện cùng với callbachồng thuần.Async/await cũng tương tự promise, là non-blocking.Async/await khiến cho code bất đồng bộ chú ý với chạy tương tự như code đồng điệu.

Async

Await

Khi được đặt trước một Promise, nó đang hóng cho tới lúc Promise hoàn thành và trả về công dụng.Await chỉ thao tác làm việc với Promises, nó không vận động cùng với callbacks.Await chỉ hoàn toàn có thể được thực hiện phía bên trong những function async.async function asyncFunction() var y = await 20; console.log(y); // 20asyncFunction();

ví dụ như về async/await

const axios = require("axios"); // promised based requests - like fetch()function getCoffee() return new Promise(resolve sầu => setTimeout(() => resolve(Coffe"), 2000); // it takes 2 seconds khổng lồ make coffee );async function asyncFunction() try // Try easy way with coffe const coffee = await getCoffee(); console.log(coffee); // Coffe // Skết thúc request lớn API const wes = await axios("https://api.github.com/users/wesbos"); console.log(wes.data); // mediocre code // Fire off three requests & save sầu their promises const wordPromise = axios("http://www.setgetgo.com/randomword/get.php"); const userPromise = axios("https://randomuser.me/api/"); const namePromise = axios("https://uinames.com/api/"); // Wait all promise & return 3 availables const = await Promise.all(); console.log(word.data, user.data, name.data); // cool, ..., ....


Bạn đang xem: Async là gì


Xem thêm: Tiêu Chuẩn Khám Sức Khỏe Nghĩa Vụ Quân Sự 2021: 10 Thông Tin Cần Biết

catch (e) console.error(e); //... asyncFunction();

Lưu ý

async function main() await wait(1000) let arr = .map(val => wait(val)) arr.forEach(func => await func) // ??? error

Quên xử lý lỗi

Cũng nhỏng cùng với việc quên catch lỗi Khi sử dụng Promise, câu hỏi quên try catch nhằm bắt lỗi với hàm async cũng có thể xẩy ra. Nếu chúng ta quên ko bắt lỗi, thì Khi đoạn mã bất đồng của khách hàng xảy ra lỗi rất có thể làm công tác của người tiêu dùng bị dừng lại.

function wait(ms) if (ms > 2015) throw new Error(ms) return new Promise(r => setTimeout(r, ms))async function main() console.log("sắp tới rồi...") await wait(2007) console.log("ngóng tí...") await wait(2012) console.log("thêm chút nữa thôi...") await wait(2016) console.log("ngừng rồi đấy!")

Trình để mắt hỗ trợ

Hầu không còn những browser hiện thời đang tư vấn async/await tuy thế vẫn còn IE cùng Opera Mini là không tư vấn nhé. Bạn có thể tìm hiểu thêm links này:


Xem thêm: Cách Làm Thú Linh Là Gì ? 2 Cách Nấu Khấu Linh Khấu Nước Dừa Siêu Ngon

*

Tổng kết

Tóm lại Async/await đích thực rất dễ dãi cho Việc viết code và cách xử lý callbaông chồng, dẫu vậy chúng ta nên hiểu về Promise trước khi dùng làm code mang lại pro hơn nhé )Chào thân ái )


Chuyên mục: Ý NGHĨA
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *