fbpx
Tài liệu hướng dẫn và tối ưu dịch vụ
No Result
View All Result
  • Kiến thức Hosting
    cach-dang-ky-hosting-cho-nguoi-moi

    Cách đăng ký Hosting cho người mới 8GB SSD miễn phí 100%!

    cach-tang-gioi-han-upload-import-phpmyadmin-directadmin

    Hướng dẫn cách tăng giới hạn upload/import phpMyAdmin DirectAdmin

    cach-tao-https-mien-phi-cho-wordpress

    Hướng dẫn cách tạo HTTPS miễn phí cho WordPress

    nextcloud-la-gi

    Nextcloud là gì? Cách cài đặt Nextcloud trên web hosting

    database-server-la-gi

    Database server là gì? Database server có những lợi ích gì?

    Ch 1 1 930x620 1

    Cloud Hosting là gì? Tìm hiểu về Cloud Hosting

    phan-cung-may-chu-la-gi

    Phần cứng máy chủ là gì? Cấu tạo như thế nào?

    railgun-la-gi

    Railgun là gì? Kích hoạt CloudFlare Railgun trên WordPress miễn phí!

    so-sanh-cloud-hosting-va-shared-hosting

    So sánh Cloud Hosting và Shared Hosting cho người mới

    Trending Tags

    • Webmasters
      huong-dan-cai-dat-tawk-to-cho-website

      Hướng dẫn cài đặt Tawk.to cho website WordPress miễn phí 100%

      cach-sua-loi-413-request-entity-too-large

      Cách sửa lỗi “413 Request Entity Too Large”

      tong-hop-cac-plugin-cho-wordpress

      [FREE 100%] Danh sách tổng hợp các Plugin cho WordPress

      cach-sua-loi-err-ssl-version-or-cipher-mismatch

      Hướng dẫn cách sửa lỗi “ERR_SSL_VERSION_OR_CIPHER_MISMATCH”

      recaptcha-la-gi

      reCAPTCHA là gì? Ứng dụng của reCAPTCHA vào website

      cach-tao-https-mien-phi-cho-wordpress

      Hướng dẫn cách tạo HTTPS miễn phí cho WordPress

      javascript-la-gi

      JavaScript là gì? Có nên học JavaScript hay không?

      cach-mysql-reset-root-password

      Cách MySQL reset Root Password

      sua-loi-upload-max-filesize-wordpress

      Sửa lỗi upload_max_filesize WordPress

      Trending Tags

      • Khuyến Mãi
        uu-dai-cuc-chat-mung-ngay-thong-nhat

        Chào 47 năm Ngày thống nhất, TinoHost giảm 74% Hosting, 47% VPS, tặng 50% thời gian sử dụng; cho phép thanh toán sau

        mien-phi-ten-mien-xyz-nam-dau

        TinoHost miễn phí 1 năm sử dụng tên miền

        vui-giang-sinh-rinh-qua-dinh

        Vui Giáng sinh, rinh quà đỉnh: Lifetime, giảm 50% trọn đời tất cả Hosting/VPS tại TinoHost

        mien-phi-plugin-postx-pro-va-plugin-productx-pro

        Tino Group miễn phí trọn đời Plugin PostX Pro và Plugin ProductX Pro, từ 12/2021

        black-friday-2021-tai-TinoHost

        Black Friday 2021 tại TinoHost: Lifetime, giảm đến 99%, tặng 100% thời gian

        sieu-bao-sale-cap-11-tai-tinohost

        Siêu bão Sale cấp 11 tại TinoHost: Hosting, VPS giảm đến 99%

        cung-vuot-qua-dai-dich-covid-19

        TinoHost miễn phí tên miền .vn, .com, .net, Hosting/VPS/Email doanh nghiệp cùng vượt qua đại dịch COVID-19

        da-bai-co-Vy-cung-TinoHost

        Mua 1 được 3, chọn quà cực đã – đả bại Cô Vy cùng TinoHost!

        mien-phi-astra-theme-pro-va-cac-plugin-di-kem

        Tino Group miễn phí Astra Theme Pro và các Plugin đi kèm, trị giá $1893

        Trending Tags

        • Kiếm tiền online
          viec-lam-Freelancer

          Freelancer là gì? Cách kiếm tiền với việc làm Freelancer

          publisher-la-gi

          Publisher là gì? 8 hình thức Publisher phổ biến nhất hiện nay

          livestream-la-gi

          Livestream là gì? Tiềm năng to lớn khi bán hàng trên Livestream

          studio-sang-tao-la-gi

          Studio sáng tạo là gì? Kiếm tiền trên Studio sáng tạo mới nhất 2022

          dang-ky-ban-hang-tren-baemin

          BAEMIN là gì? Hướng dẫn cách đăng ký bán hàng trên BAEMIN đơn giản nhất

          su-that-lam-giau-tu-tiep-thi-lien-ket

          Sự thật làm giàu từ tiếp thị liên kết mọi người nên biết

          app-kiem-tien-nuoc-ngoai-uy-tin

          Top 5 app kiếm tiền nước ngoài uy tín nhất 2022

          upwork-la-gi

          Upwork là gì? Cách kiếm tiền online với Upwork

          cach-kiem-tien-tai-nha-cho-hoc-sinh

          8 cách kiếm tiền tại nhà cho học sinh hấp dẫn nhất

          Trending Tags

          • Tài liệu
            • Hướng dẫn về Tên Miền
            • Hướng dẫn về Cloud Hosting
            • Hướng dẫn về Cloud VPS
            • Câu hỏi chung về WordPress
            • Hướng dẫn Email Server
            • Hướng Dẫn Về Tổng Đài Ảo
            • Hướng Dẫn Về Hóa Đơn Điện Tử
            • Hướng dẫn về Thanh Toán
            • Hướng dẫn về Chứng chỉ SSL
            • Hướng dẫn cho Cộng Tác Viên
            • Hướng dẫn chung
            • Câu hỏi thường gặp
            • Hướng dẫn về SEO hosting.
          • Bitrix24
            • Applications
            • Bitrix24 Drive
            • Calendars
            • Chats and Calls
            • Contact Center
            • CRM
            • CRM + Online Store
            • CRM Analytics (Beta)
            • CRM Marketing
            • CRM Store (Beta)
            • Desktop App
            • Employees
            • Feed
            • Knowledge Base (Beta)
            • Mobile App
            • My Profile
            • Online Store (Beta)
            • Open Chanels
            • Robotic Process Automation (Beta)
            • Sales Center (Beta)
          • Chuyển đổi số
          • Dịch vụ
            • Dịch vụ viết content chuẩn SEO
            • Mua tên miền
            • Hosting giá rẻ
            • VPS giá rẻ
            • Email doanh nghiệp
            • SSL giá rẻ
            • Tổng đài ảo
            • Hóa đơn điện tử
            • Thiết kế website
            • Dịch vụ chuyển đổi số
          • Kiến thức Hosting
            cach-dang-ky-hosting-cho-nguoi-moi

            Cách đăng ký Hosting cho người mới 8GB SSD miễn phí 100%!

            cach-tang-gioi-han-upload-import-phpmyadmin-directadmin

            Hướng dẫn cách tăng giới hạn upload/import phpMyAdmin DirectAdmin

            cach-tao-https-mien-phi-cho-wordpress

            Hướng dẫn cách tạo HTTPS miễn phí cho WordPress

            nextcloud-la-gi

            Nextcloud là gì? Cách cài đặt Nextcloud trên web hosting

            database-server-la-gi

            Database server là gì? Database server có những lợi ích gì?

            Ch 1 1 930x620 1

            Cloud Hosting là gì? Tìm hiểu về Cloud Hosting

            phan-cung-may-chu-la-gi

            Phần cứng máy chủ là gì? Cấu tạo như thế nào?

            railgun-la-gi

            Railgun là gì? Kích hoạt CloudFlare Railgun trên WordPress miễn phí!

            so-sanh-cloud-hosting-va-shared-hosting

            So sánh Cloud Hosting và Shared Hosting cho người mới

            Trending Tags

            • Webmasters
              huong-dan-cai-dat-tawk-to-cho-website

              Hướng dẫn cài đặt Tawk.to cho website WordPress miễn phí 100%

              cach-sua-loi-413-request-entity-too-large

              Cách sửa lỗi “413 Request Entity Too Large”

              tong-hop-cac-plugin-cho-wordpress

              [FREE 100%] Danh sách tổng hợp các Plugin cho WordPress

              cach-sua-loi-err-ssl-version-or-cipher-mismatch

              Hướng dẫn cách sửa lỗi “ERR_SSL_VERSION_OR_CIPHER_MISMATCH”

              recaptcha-la-gi

              reCAPTCHA là gì? Ứng dụng của reCAPTCHA vào website

              cach-tao-https-mien-phi-cho-wordpress

              Hướng dẫn cách tạo HTTPS miễn phí cho WordPress

              javascript-la-gi

              JavaScript là gì? Có nên học JavaScript hay không?

              cach-mysql-reset-root-password

              Cách MySQL reset Root Password

              sua-loi-upload-max-filesize-wordpress

              Sửa lỗi upload_max_filesize WordPress

              Trending Tags

              • Khuyến Mãi
                uu-dai-cuc-chat-mung-ngay-thong-nhat

                Chào 47 năm Ngày thống nhất, TinoHost giảm 74% Hosting, 47% VPS, tặng 50% thời gian sử dụng; cho phép thanh toán sau

                mien-phi-ten-mien-xyz-nam-dau

                TinoHost miễn phí 1 năm sử dụng tên miền

                vui-giang-sinh-rinh-qua-dinh

                Vui Giáng sinh, rinh quà đỉnh: Lifetime, giảm 50% trọn đời tất cả Hosting/VPS tại TinoHost

                mien-phi-plugin-postx-pro-va-plugin-productx-pro

                Tino Group miễn phí trọn đời Plugin PostX Pro và Plugin ProductX Pro, từ 12/2021

                black-friday-2021-tai-TinoHost

                Black Friday 2021 tại TinoHost: Lifetime, giảm đến 99%, tặng 100% thời gian

                sieu-bao-sale-cap-11-tai-tinohost

                Siêu bão Sale cấp 11 tại TinoHost: Hosting, VPS giảm đến 99%

                cung-vuot-qua-dai-dich-covid-19

                TinoHost miễn phí tên miền .vn, .com, .net, Hosting/VPS/Email doanh nghiệp cùng vượt qua đại dịch COVID-19

                da-bai-co-Vy-cung-TinoHost

                Mua 1 được 3, chọn quà cực đã – đả bại Cô Vy cùng TinoHost!

                mien-phi-astra-theme-pro-va-cac-plugin-di-kem

                Tino Group miễn phí Astra Theme Pro và các Plugin đi kèm, trị giá $1893

                Trending Tags

                • Kiếm tiền online
                  viec-lam-Freelancer

                  Freelancer là gì? Cách kiếm tiền với việc làm Freelancer

                  publisher-la-gi

                  Publisher là gì? 8 hình thức Publisher phổ biến nhất hiện nay

                  livestream-la-gi

                  Livestream là gì? Tiềm năng to lớn khi bán hàng trên Livestream

                  studio-sang-tao-la-gi

                  Studio sáng tạo là gì? Kiếm tiền trên Studio sáng tạo mới nhất 2022

                  dang-ky-ban-hang-tren-baemin

                  BAEMIN là gì? Hướng dẫn cách đăng ký bán hàng trên BAEMIN đơn giản nhất

                  su-that-lam-giau-tu-tiep-thi-lien-ket

                  Sự thật làm giàu từ tiếp thị liên kết mọi người nên biết

                  app-kiem-tien-nuoc-ngoai-uy-tin

                  Top 5 app kiếm tiền nước ngoài uy tín nhất 2022

                  upwork-la-gi

                  Upwork là gì? Cách kiếm tiền online với Upwork

                  cach-kiem-tien-tai-nha-cho-hoc-sinh

                  8 cách kiếm tiền tại nhà cho học sinh hấp dẫn nhất

                  Trending Tags

                  • Tài liệu
                    • Hướng dẫn về Tên Miền
                    • Hướng dẫn về Cloud Hosting
                    • Hướng dẫn về Cloud VPS
                    • Câu hỏi chung về WordPress
                    • Hướng dẫn Email Server
                    • Hướng Dẫn Về Tổng Đài Ảo
                    • Hướng Dẫn Về Hóa Đơn Điện Tử
                    • Hướng dẫn về Thanh Toán
                    • Hướng dẫn về Chứng chỉ SSL
                    • Hướng dẫn cho Cộng Tác Viên
                    • Hướng dẫn chung
                    • Câu hỏi thường gặp
                    • Hướng dẫn về SEO hosting.
                  • Bitrix24
                    • Applications
                    • Bitrix24 Drive
                    • Calendars
                    • Chats and Calls
                    • Contact Center
                    • CRM
                    • CRM + Online Store
                    • CRM Analytics (Beta)
                    • CRM Marketing
                    • CRM Store (Beta)
                    • Desktop App
                    • Employees
                    • Feed
                    • Knowledge Base (Beta)
                    • Mobile App
                    • My Profile
                    • Online Store (Beta)
                    • Open Chanels
                    • Robotic Process Automation (Beta)
                    • Sales Center (Beta)
                  • Chuyển đổi số
                  • Dịch vụ
                    • Dịch vụ viết content chuẩn SEO
                    • Mua tên miền
                    • Hosting giá rẻ
                    • VPS giá rẻ
                    • Email doanh nghiệp
                    • SSL giá rẻ
                    • Tổng đài ảo
                    • Hóa đơn điện tử
                    • Thiết kế website
                    • Dịch vụ chuyển đổi số
                  No Result
                  View All Result
                  Tài liệu hướng dẫn và tối ưu dịch vụ
                  No Result
                  View All Result
                  Home Webmasters

                  Async Await là gì? 6 lý do khiến Async Await trở nên vượt trội

                  by Mai Trúc Lâm
                  in Webmasters
                  0 0
                  A A
                  0
                  Async Await là gì? 6 lý do khiến Async Await trở nên vượt trội 2
                  0
                  SHARES
                  918
                  VIEWS
                  Share on FacebookShare on Twitter
                  ADVERTISEMENT

                  Khi thực hiện code bất đồng bộ trong JavaScript, thông thường bạn sẽ sử dụng callback hoặc Promise. Tuy nhiên, vẫn có 1 cách để bạn có thể làm việc với code bất đồng bộ đơn giản và hiệu quả hơn, đó chính là Async Await. Vậy, Async Await là gì? Những mẫu code ví dụ cho Async Await và lý do tại sao nên dùng Async Await sẽ được Tino Group hé lộ trong bài viết nhé!

                  NỘI DUNG

                  1. Async Await là gì?
                    1. Cú pháp của Async
                    2. Cú pháp của Await
                  2. 6 lý do vì sao bạn nên sử dụng Async Await
                    1. Code trực quan, ngắn gọn và đơn giản
                    2. Khả năng tăng tốc xử lý lỗi
                    3. Đơn giản hóa câu điều kiện
                    4. Đơn giản hóa các Promise trả về
                    5. Tạo ghi chú lỗi
                    6. Debug đơn giản và dễ dàng hơn
                  3. Những câu hỏi thường gặp
                  4. Callback Function là gì?
                  5. Promise có trở nên lỗi thời hay không?
                  6. Async Await được hỗ trợ trên phiên bản trình duyệt nào?
                  7. Học thêm về Async Await ở đâu?

                  Async Await là gì?

                  JavaScript luôn được cải tiến và trong bản cập nhật ES7 vào năm 2016, JavaScript đã được cập nhật thêm rất nhiều function (chức năng) mới được như: Arrow Functions, Array methods, Loops for/in, Template literals,…

                  Và trong đó có một function mới để giải quyết bài toán bất đồng bộ một cách nhanh gọn hơn, đó chính là Async Await function.

                  Async Await được phát triển dựa trên nền tảng của Promise function và tương thích với tất cả Promise nào dựa trên API để xử lý các trường hợp bất đồng bộ.

                  async-await-la-gi

                  Trong đó, ta có Async Await với tính năng như sau:

                  • Async được sử dụng để khai báo một hàm bất đồng bộ và hàm sẽ luôn trả về một giá trị. Nếu Promise không được thực thi, JavaScript sẽ tự động kết thúc quá trình.
                  • Await được sử dụng để chờ một Promises trong một khối Async, công dụng dễ hiểu của Await là “kêu” JavaScript phải chờ cho đến khi nào có một Promise trả kết quả. Trong đó, await chỉ có công dụng thực hiện chức năng tạo ra sự không đồng bộ bằng cách chờ 1 khối trả kết quả, await không chờ đợi toàn bộ kết quả trong chương trình được trả về.

                  Cú pháp của Async

                  Đối với Async, bạn chỉ cần đặt từ Async ngay trước 1 hàm làm cho hàm đó trả về Promise là được. Ví dụ:

                  async function myFunction() {
                  
                   return "Hello";
                  
                  }

                  Tương tự, bạn đặt vào trước Promise như sau:

                  async function myFunction() {
                  
                   return Promise.resolve("Hello");
                  
                  }

                  So sánh với trường hợp bạn chỉ sử dụng Promise, câu lệnh của bạn sẽ trở nên như thế này:

                  myFunction().then(
                  
                   function(value) { /* code if successful */ },
                  
                   function(error) { /* code if some error */ }
                  
                  );

                  Cú pháp của Await

                  Cách sử dụng cũng khá tương tự Async, bạn chỉ cần đặt từ Await trước 1 hàm sẽ làm cho hàm đó chờ Promise. Tuy nhiên, bạn chỉ có thể sử dụng Await bên trong khối xử lý của Async thôi nhé!

                  let value = await Promise;

                  Ví dụ cơ bản khi sử dụng Await:

                  Async Await là gì? 6 lý do khiến Async Await trở nên vượt trội 3
                  ADVERTISEMENT
                  <!DOCTYPE html>
                  
                  <html>
                  
                  <body>
                  
                  <h2>JavaScript Async / Await</h2>
                  
                  <p>Đợi xíu! 3 giây thôi là bạn có thể nhìn thấy điều bất ngờ.</p>
                  
                  <h1 id="demo"></h1>
                  
                  <script>
                  
                  async function myDisplay() {
                  
                   let myPromise = new Promise(function(myResolve, myReject) {
                  
                   setTimeout(function() { myResolve("Bạn đợi dòng này được 3S rồi đó!!"); }, 3000);
                  
                   });
                  
                   document.getElementById("demo").innerHTML = await myPromise;
                  
                  }
                  
                  myDisplay();
                  
                  </script>
                  
                  </body>
                  
                  </html>

                  Kết quả đầu ra bạn sẽ có như sau:

                  async-await-la-gi

                  Bạn có thể thay đổi nội dung code và chạy thử tại đây.

                  6 lý do vì sao bạn nên sử dụng Async Await

                  Code trực quan, ngắn gọn và đơn giản

                  Tất nhiên, đây là một trong những ưu điểm tuyệt vời nhất của Async Await. Khi viết code, bạn sẽ không bị những dòng code phức tạp làm chắn ngang dòng suy nghĩ của bạn. Ví dụ: bạn chỉ cần try/catch để bắt lỗi và không cần phải then sau đó catch, => code của bạn sẽ trở nên dài dòng, vô cùng phức tạp.

                  async-await-la-gi

                  Khả năng tăng tốc xử lý lỗi

                  Nếu bạn cảm giác try/catch vẫn chưa đủ để xử lý các lỗi, ví dụ như đoạn code try/catch sau đây:

                  const makeRequest = () => {
                  
                   try {
                  
                   getJSON()
                  
                   .then(result => {
                  
                   // this parse may fail
                  
                   const data = JSON.parse(result)
                  
                   console.log(data)
                  
                   })
                  
                   // bỏ ghi chú khối này để xử lý lỗi không đồng bộ bằng cách xóa dòng và xóa luôn các dấu //
                  
                   // .catch((err) => {
                  
                   // console.log(err)
                  
                   // })
                  
                   } catch (err) {
                  
                   console.log(err)
                  
                   }

                  Với cách thức code Promise thế này, try/catch sẽ không thể tìm và bắt được các lỗi nếu JSON.parse xảy ra lỗi bên trong Promise. Nếu muốn xử lý, bạn sẽ phải gọi .catch bên trong và lặp lại code lần nữa để xử lý lỗi! Điều này phức tạp thực sự đấy chứ!

                  Giờ đây, chúng ta sẽ xử lý bằng Async Await. Bạn có thể thấy rằng catch hoàn toàn có thể bắt lỗi cú pháp.

                  const makeRequest = async () => {
                  
                   try {
                  
                   // phân tích cú pháp này có thể không thành công
                  
                   const data = JSON.parse(await getJSON())
                  
                   console.log(data)
                  
                   } catch (err) {
                  
                   console.log(err)
                  
                   }
                  
                  }

                  Đơn giản hóa câu điều kiện

                  Ví dụ bạn muốn nạp dữ liệu và sau đó xử lý rồi quyết định bạn sẽ trả dữ liệu lại hoặc lấy thêm chi tiết dựa trên các giá trị được đưa vào. Thông thường, ta sẽ code bằng cách lồng nhiều điều kiện như sau:

                  const makeRequest = () => {
                  
                   return getJSON()
                  
                   .then(data => {
                  
                   if (data.needsAnotherRequest) {
                  
                   return makeAnotherRequest(data)
                  
                   .then(moreData => {
                  
                   console.log(moreData)
                  
                   return moreData
                  
                   })
                  
                   } else {
                  
                   console.log(data)
                  
                   return data
                  
                   }
                  
                   })
                  
                  }

                  Như bạn có thể thấy, đoạn code có tận 6 điều kiện lồng nhau! Bạn chỉ cần đọc qua, bạn sẽ cảm giác choáng với đoạn code này, đôi khi bạn sẽ bị nhầm lẫn và “bơi” trong mớ hỗn độn. Thay vì chấp nhận mớ “hỗn độn” kết hợp if/else đó, bạn có thể sử dụng Async Await để xử lý đơn giản – dễ hiểu hơn như sau:

                  const makeRequest = async () => {
                  
                   const data = await getJSON()
                  
                   if (data.needsAnotherRequest) {
                  
                   const moreData = await makeAnotherRequest(data);
                  
                   console.log(moreData)
                  
                   return moreData
                  
                   } else {
                  
                   console.log(data)
                  
                   return data 
                  
                   }
                  
                  }

                  Đơn giản hóa các Promise trả về

                  Ví dụ trong trường hợp bạn gọi 1 Promise1 sau đó quay trở lại và gọi Promise2. Kết quả của chúng thỏa điều kiện và sẽ gọi đến Promise3. Đoạn code của bạn sẽ như sau:

                  const makeRequest = () => {
                  
                   return Promise1()
                  
                   .then(value1 => {
                  
                   // do something
                  
                   return Promise2(value1)
                  
                   .then(value2 => {
                  
                   // do something 
                  
                   return Promise3(value1, value2)
                  
                   })
                  
                   })
                  
                  }

                  Trong trường hợp Promise3 của bạn không yêu cầu giá trị trả về của value1, code sẽ đơn giản hơn được một chút. Nếu một trường hợp khác với nhiều điều kiện trả về hơn, mức độ lồng sâu hơn bạn sẽ trở nên rắc rối đấy! Thay vì lồng như vậy, bạn có thể sử dụng Promise.all để giải quyết vấn đề đơn giản hơn (ví dụ Promise3 của bạn yêu cầu cả value1 và value2 mới đủ thỏa mãn).

                  const makeRequest = () => {
                  
                   return Promise1()
                  
                   .then(value1 => {
                  
                   // do something
                  
                   return Promise.all([value1, Promise2(value1)])
                  
                   })
                  
                   .then(([value1, value2]) => {
                  
                   // do something 
                  
                   return Promise3(value1, value2)
                  
                   })
                  
                  }

                  Đơn giản hơn nữa, bạn có thể sử dụng Async Await để xử lý như sau:

                  const makeRequest = async () => {
                  
                   const value1 = await Promise1()
                  
                   const value2 = await Promise2(value1)
                  
                   return Promise3(value1, value2)
                  
                  }

                  Thay vì 1 “đống” các hàm các điều kiện, giờ đây, bạn chỉ cần code ít hơn và nếu có một người khác giúp bạn sửa code, họ cũng “dễ thở” hơn rất nhiều để hiểu và giúp bạn tốt hơn.

                  Tạo ghi chú lỗi

                  Ví dụ, bạn có một đoạn code sẽ gọi nhiều Promise cùng lúc trong chuỗi và ở đâu trong chuỗi đó có một lỗi như trong đoạn code này:

                  const makeRequest = () => {
                  
                   return callAPromise()
                  
                   .then(() => callAPromise())
                  
                   .then(() => callAPromise())
                  
                   .then(() => callAPromise())
                  
                   .then(() => callAPromise())
                  
                   .then(() => {
                  
                   throw new Error("oops");
                  
                   })
                  
                  }
                  
                  makeRequest()
                  
                   .catch(err => {
                  
                   console.log(err);
                  
                   // output
                  
                   // Error: oops at callAPromise.then.then.then.then.then (index.js:9:99)

                  Như bạn có thể thấy, nhật ký ghi lỗi của bạn chỉ trả về số dòng và hàm bị lỗi cụ thể. Chỉ duy nhất một dòng bị trả về là:

                  // Error: oops at callAPromise.then.then.then.then.then (index.js:9:99)

                  Nếu sử dụng Async Await, nội dung sẽ được trả tới tận hàm nào bị xảy ra lỗi luôn, ví dụ trực quan như sau:

                  const makeRequest = async () => {
                  
                   await callAPromise()
                  
                   await callAPromise()
                  
                   await callAPromise()
                  
                   await callAPromise()
                  
                   await callAPromise()
                  
                   throw new Error("oops");
                  
                  }
                  
                  makeRequest()
                  
                   .catch(err => {
                  
                   console.log(err);
                  
                   // output
                  
                   // Error: oops at makeRequest (index.js:7:9)
                  
                   })

                  Khi bạn được gửi địa chỉ nhà và biết luôn cả chủ nhà, việc sửa lỗi sẽ trở nên dễ dàng hơn vô cùng. Như bạn thấy ở đây, hàm makeRequest đã bị lỗi và đưa chúng ta đến lý do thứ 6: sửa lỗi đơn giản và dễ dàng.

                  Debug đơn giản và dễ dàng hơn

                  Không nỗi đau nào to hơn việc đi sửa lỗi code! Và sử dụng Async Await sẽ giúp bạn sửa lỗi trở nên dễ dàng hơn rất nhiều! Với Async Await, bạn chỉ cần chạy sửa lỗi từng dòng như thông thường và không cần phải gọi arrow functions nhiều lần làm mọi thứ trở nên phức tạp.

                  async-await-la-gi

                  Qua bài viết, bạn có thể thấy được rằng Async Await đã giúp việc code của bạn trở nên trực quan hơn, ngắn gọn hơn và dễ dàng hiểu hơn bao giờ hết. Tino Group hi vọng với những ví dụ này có thể giúp bạn xử lý code của mình đẹp và gọn hơn!

                  Bài viết có tham khảo nội dung từ: Hackernoon, Developer Mozilla và W3School.

                  Những câu hỏi thường gặp

                  Callback Function là gì?

                  Mô tả đơn giản, Callback là hoạt động truyền đoạn code A vào một đoạn code B và tại một thời điểm, sự kiện nào đó, đoạn code A có thể thực hiện gọi đoạn code B nhằm xử lý một sự kiện bất đồng bộ.

                  Promise có trở nên lỗi thời hay không?

                  Không, vẫn có rất nhiều trường hợp Async Await không thể giải quyết được và bạn vẫn sẽ phải sử dụng Promise để xử lý.

                  Ngoài ra, bạn cũng nên học thêm về Promise để có kiến thức nền tảng tốt hơn và sử dụng Async Await được “ngon lành” hơn.

                  Async Await được hỗ trợ trên phiên bản trình duyệt nào?

                  Trừ duy nhất trình duyệt Internet Explorer phiên bản 7.0 trở xuống sẽ không được hỗ trợ, còn hầu hết các phiên bản trình duyệt khác đều được hỗ trợ.

                  Học thêm về Async Await ở đâu?

                  Bạn có thể học tại trang W3School hoàn toàn miễn phí ở đây. Không chỉ học về Async Await, bạn còn được học về JS, SQL, Python, PHP, Java,… cùng nhiều ngôn ngữ khác một cách hoàn toàn miễn phí!

                  CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO

                  • Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí Minh
                    Văn phòng đại diện: 42 Trần Phú, Phường 4, Quận 5, Thành phố Hồ Chí Minh
                  • Điện thoại: 0364 333 333
                    Tổng đài miễn phí: 1800 6734
                  • Email: sales@tino.org
                  • Website: www.tino.org
                  Tags: hỗ trợ Developer
                  ShareTweetShare

                  Cập nhật nhanh nhất thông tin bài viết bằng cách bấm đăng ký.

                  Bỏ đăng ký
                  Mai Trúc Lâm

                  Mai Trúc Lâm

                  Mình là Lâm, với gần 500 bài viết trên Blog Tino với những chủ đề về: WordPress, Hosting, Website, thủ thuật trên Windows, máy tính nói chung,... Nếu bài viết giúp được bạn là mình vui lắm á ^^

                  Related Posts

                  huong-dan-cai-dat-tawk-to-cho-website
                  Webmasters

                  Hướng dẫn cài đặt Tawk.to cho website WordPress miễn phí 100%

                  04/06/2022
                  cach-sua-loi-413-request-entity-too-large
                  Webmasters

                  Cách sửa lỗi “413 Request Entity Too Large”

                  03/23/2022
                  tong-hop-cac-plugin-cho-wordpress
                  Webmasters

                  [FREE 100%] Danh sách tổng hợp các Plugin cho WordPress

                  03/19/2022
                  cach-sua-loi-err-ssl-version-or-cipher-mismatch
                  Webmasters

                  Hướng dẫn cách sửa lỗi “ERR_SSL_VERSION_OR_CIPHER_MISMATCH”

                  03/19/2022
                  recaptcha-la-gi
                  Webmasters

                  reCAPTCHA là gì? Ứng dụng của reCAPTCHA vào website

                  03/18/2022
                  cach-tao-https-mien-phi-cho-wordpress
                  Kiến thức Hosting

                  Hướng dẫn cách tạo HTTPS miễn phí cho WordPress

                  03/16/2022

                  Recommended

                  lazy-loading-la-gi

                  Lazy Loading là gì? Tại sao nên triển khai Lazy Loading?

                  08/02/2021
                  ReactJS: Giới thiệu cách thức hoạt động của ReactJS

                  ReactJS: Hướng dẫn làm việc với Forms trong React

                  10/03/2021
                  khau-hao-tai-san-co-dinh-la-gi

                  Khấu hao tài sản cố định là gì? Mẫu file Excel khấu hao tài sản cố định

                  09/27/2021
                  cach-truyen-man-hinh-dien-thoai-len-may-tinh

                  4 cách truyền màn hình điện thoại lên máy tính

                  04/06/2022
                  ReactJS: Giới thiệu cách thức hoạt động của ReactJS

                  ReactJS: Rendering có điều kiện trong React

                  10/03/2021
                  leaflets-la-gi

                  Leaflets là gì? 4 bí quyết cho “ra lò” một Leaflets ấn tượng

                  11/22/2021

                  Tài liệu nổi bật

                  Hướng dẫn cấu hình relay SMTP trên panel DirectAdmin

                  TinoHost
                  TinoHost
                  4.9
                  Based on 232 reviews
                  See all reviewsWrite a review
                  Phan Ngọc Sơn Đăng
                  Phan Ngọc Sơn Đăng
                  chất lượng dịch vụ tốt lắm...á
                  Nguyễn Văn Tiệp
                  Nguyễn Văn Tiệp
                  chất lượng dịch vụ rất tốt.
                  Thanh Quân
                  Thanh Quân
                  giá tốt, chất lượng cao mình rất hài lòng
                  Thạch Trần
                  Thạch Trần
                  Tino giá tốt,chất lượng cao,dịch vụ tư vấn và hổ trợ khách hàng tận tâm.
                  Chu Toàn
                  Chu Toàn
                  tôi rất thích sử dụng dịch vụ tại tinohostinohost. tốc độ tải nhanh và cực kỳ rẻ
                  Vạn Điều Khó Nói
                  Vạn Điều Khó Nói
                  Dịch vụ chăm sóc khách hàng tốt
                  Nguyễn Văn Hà
                  Nguyễn Văn Hà
                  Dùng rất oke nha mọi người
                  Hanh Truong
                  Hanh Truong
                  Dịch vụ chăm sóc khách hàng tốt, mình rất hài lòng về dịch vụ của TINOHOST
                  Ngọ Nguyễn
                  Ngọ Nguyễn
                  Đã mua rất nhiều tên miền tại Tinohost. Chất lượng tốt
                  Thai Pham
                  Thai Pham
                  Dịch vụ tốt, chăm sóc khách hàng chu đáo. Mình rất yên tâm khi sử dụng các dịch vụ của Tinohost.
                  Vô Thường
                  Vô Thường
                  Đã mua được tên miền ưng ý từ TinoHost
                  Ngọc Huyền
                  Ngọc Huyền
                  dịch vụ và chăm sóc khách hàng rất tốt , mình rất thích tinohost , mình đã sử dụng nhiều dịch vụ của tinohost rồi
                  Lê Thành Tài
                  Lê Thành Tài
                  tuyệt vời chăm sóc khách hàng quá tốt
                  Dang Huu Quoc Cuong
                  Dang Huu Quoc Cuong
                  tuyệt vời chăm sóc khách hàng quá tốt
                  Quang Thức
                  Quang Thức
                  dịch vụ và chăm sóc khách hàng rất tốt , mình rất thích tinohost , mình đã sử dụng nhiều dịch vụ của tinohost rồi
                  Phạm Trung Đức
                  Phạm Trung Đức
                  dịch vụ tuyệt vời . chăm sóc khách hàng rất tốt
                  Iron Vũ
                  Iron Vũ
                  Quá tốt - Quá xuất sắc và tuyệt
                  Minh Ho
                  Minh Ho
                  Hỗ trợ nhiệt tình. dịch vụ chất lượng
                  Lê Quốc Ninh
                  Lê Quốc Ninh
                  Host ổn định. miền giá rẻ. hỗ trợ nhanh
                  CÔNG DANH
                  CÔNG DANH
                  CSKH nhiệt tình, dịch vụ tốt
                  Nguyễn Nhật
                  Nguyễn Nhật
                  Đội ngũ support rất nhiệt tình.
                  Trung William
                  Trung William
                  Sử dụng dịch vụ của bạn Tinohost 2 3 năm nay chưa khi nào phải thất vọng.
                  Đạt Light
                  Đạt Light
                  host dùng chất lượng, miền giá rẻ
                  HM Hưng
                  HM Hưng
                  Host chất lượng uy tín, dịch vụ tốt
                  Nguyễn Minh Đức
                  Nguyễn Minh Đức
                  dịch vụ hỗ trợ rất nhanh, tốc độ hosting tốt
                  Tuấn Lê
                  Tuấn Lê
                  Hộ trợ tốt, nhanh. Tuyệt vời 🥰
                  Nguyễn Tiến Toàn
                  Nguyễn Tiến Toàn
                  tuyệt vời, dịch vụ cực tốt và hỗ trợ siêu nhanh
                  Linh Hoàng Vũ
                  Linh Hoàng Vũ
                  Làm việc nhanh chóng, giá thành hợp lí.
                  Kevin Phan
                  Kevin Phan
                  Chất lượng phục vụ tốt, hỗ trợ khá nhanh chóng và chất lượng gói lớn tốt, gói nhỏ cần tốt hơn.
                  Phạm Hồng Phúc
                  Phạm Hồng Phúc
                  Hosting rẻ và nhanh thích hợp cho học sinh sinh viên như mình
                  Mạnh Dương Phan
                  Mạnh Dương Phan
                  dịch vu tốt ! Sẽ sử dụng thưởng xuyên !
                  Bến Hà
                  Bến Hà
                  Mỗi lần cần gì, nhắn Tino là được hỗ trợ ngay. Nên một đứa không biết gì về web như mình cũng tạo được blog. Cơ bản mình chỉ lo viết, mọi thứ có anh IT của Tino lo hết.
                  Đỗ Duy Công
                  Đỗ Duy Công
                  Nhìn chung thì Tino xứng đáng là một trong những nhà cung cấp host giá rẻ #1 tại VN. Bên này support khá nhanh và nhiệt tình nên quá trình sử dụng diễn ra tương đối trơn tru.
                  Chất lượng quá ok so với mức giá. Các SME có thể tham khảo để dựng web nhé.
                  Hiếu Tâm
                  Hiếu Tâm
                  uy tín chất lượng chuẩn cho 5 sao
                  Nguyễn An
                  Nguyễn An
                  Dịch vụ nhanh chóng thanh toán tiện lợi
                  Thin Vu Thi
                  Thin Vu Thi
                  Dịch vụ nhanh chóng, giá cả hợp lý
                  Khoai Lang Nướng
                  Khoai Lang Nướng
                  Chất lượng phục vụ ok, support khá nhanh chóng và chất lượng gói lớn tốt, gói nhỏ cần tốt hơn.
                  Nguyễn Phương Duy
                  Nguyễn Phương Duy
                  Dịch vụ tốt, giá cả hợp lý👍
                  Trần Đức Huy
                  Trần Đức Huy
                  Rất hay, rất tốt, rất hữu ích
                  Lee Hậu
                  Lee Hậu
                  Hỗ trợ rất nhanh và nhiệt tình
                  Quang Vinh
                  Quang Vinh
                  Chất lượng phục vụ ok, support khá nhanh chóng và chất lượng gói lớn tốt, gói nhỏ cần tốt hơn.
                  Pon Nguyễn
                  Pon Nguyễn
                  Ta nói dịch vụ gì mà tốt dã man, xịn quá i <3
                  Bảo Nguyễn
                  Bảo Nguyễn
                  dịch vụ tốt, thanh toán nhanh chống
                  Đào Duy Khang
                  Đào Duy Khang
                  Hài lòng dịch vụ của tinohost
                  Trịnh Văn Tuấn
                  Trịnh Văn Tuấn
                  Sau khi sử dụng dịch vụ của TinoHost. Mình thấy website load nhanh hơn hẳn so với sử dụng ở nhà cung cấp cũ. Giá cả do mình đc mua với giá sale 99% của TinoHost nên rất là rẻ. Gói mình mua là gòi Hosting Bussiness 20GB. Thông số cấu hình cao nên web load khá mượt
                  Chúc TinoHost phát triển!
                  Lê Quang Huy
                  Lê Quang Huy
                  domain rẻ, có nhiều gói hữu ích thích hợp cho sinh viên
                  Hòa Kha
                  Hòa Kha
                  ok rất tuyệt vời. cskh 25/7
                  Đàm Văn Trọng
                  Đàm Văn Trọng
                  Dịch vụ trãi nghiệm tốt, cho 5 sao
                  Đặng Văn Thành
                  Đặng Văn Thành
                  Hài lòng về dịch vụ và tư vấn
                  Hiếu Phi
                  Hiếu Phi
                  Dịch vụ tốt . Support nhiệt tình
                  Nguyễn Quốc Đạt
                  Nguyễn Quốc Đạt
                  Dịch vụ thật tuyệt vời
                  Huy Lona
                  Huy Lona
                  Chất lượng OK
                  Nhanh chóng
                  Nghĩa Đinh
                  Nghĩa Đinh
                  Đã gia hạn thêm gói 1 năm nữa của TINO host. Chất lượng sản phẩm và dịch vụ thật sự tốt. AE nên trải nghiệm thử và tin dùng. Thank you TINO 👍
                  Hn Thiện
                  Hn Thiện
                  dịch vụ rất tốt
                  Hồ Viết Bun
                  Hồ Viết Bun
                  Nhân viên support nhanh, hỗ trợ nhiệt tình, giao dịch tự động nên khá tiện
                  Lê Ngọc Tài
                  Lê Ngọc Tài
                  đã mua tên miền và hosting bên Tino, sẽ trải nghiệm lâu dài
                  Tin Tin
                  Tin Tin
                  Đã dùng nhiều dịch vụ tại Tinohost, chất lượng tốt, rất hài lòng ...😀
                  Ton Nhan Thai
                  Ton Nhan Thai
                  Các bạn hỗ trợ làm việc nhiệt tình và chuyên nghiệp!
                  Ngô Trường Dũng
                  Ngô Trường Dũng
                  Sự dụng rất hài lòng với các dịch vụ của tinohost
                  Phạm Văn Ngọc
                  Phạm Văn Ngọc
                  Tốt đó nhé, đủ 25 ký tự nè
                  Dương Minh Chính
                  Dương Minh Chính
                  Dịch vụ tốt, uy tín chất lượng
                  Ngo Duc Anh
                  Ngo Duc Anh
                  Tino dịch vụ quá tuyệt vời
                  Cuong Tran
                  Cuong Tran
                  Giá rẻ, dịch vụ tốt, hỗ trợ nhanh chóng
                  Thái Dương
                  Thái Dương
                  Dịch vụ tốt hỗ trợ support nhanh
                  Khiêm Lê Trần
                  Khiêm Lê Trần
                  dịch vụ rất tốt rất tuyệt vời
                  Nguyên Vũ
                  Nguyên Vũ
                  Giá hợp lý cho người mới dùng
                  Phuong Nguyen Hoang
                  Phuong Nguyen Hoang
                  Mình thấy Tinohost có giao diện thân thiện, dễ đăng ký sử dụng cho người mới tập tành làm web như mình. Hosting hỗ trợ có nhiều lựa chọn về dung lượng và giá cả! Thanh toán qua momo thuận tiện. Recommended!
                  Gà Việt
                  Gà Việt
                  wed quá ok làm việc nhanh ngọn
                  Ngô Viết Đức
                  Ngô Viết Đức
                  Dv Rất Tốt Và Rất Hay
                  Tuấn Anh
                  Tuấn Anh
                  Dịch vụ tốt. Khá hài lòng vì support nhiệt tình
                  Nguyễn Văn Luyến
                  Nguyễn Văn Luyến
                  Dịch vụ quá tuyệt vời danh cho các bạn
                  Ngọc Nim
                  Ngọc Nim
                  đội sp của Tino rất nhiệt tình và nhanh chóng
                  Võ Trọng Tín
                  Võ Trọng Tín
                  Xin cảm ơn đội ngủ kỹ thuật. Các bạn rất chuyên nghiệp và thân thiện. Tôi sẽ giới thiệu các bạn cho bạn bè của mình.
                  Thân Hoàng
                  Thân Hoàng
                  Dịch vụ hỗ trợ tốt, ổn định, thanh toán dễ dàng.
                  Mình từng dùng VPS bên Vietel IDC, hay gặp lỗi vặt và bảo trì liên tục. Nhưng Tino thì rất ok
                  Dũng Mai
                  Dũng Mai
                  dùng tốt, nhanh, dễ sử dụng
                  Nguyễn Trần Việt Hoàng
                  Nguyễn Trần Việt Hoàng
                  Giao diện đẹp mắt, dễ sử dụng
                  Hoàng Kim Phú
                  Hoàng Kim Phú
                  ok, chưa dùng nên để test thử xem sao, vẫn đánh giá 5* trước
                  Trần Duy
                  Trần Duy
                  Thích cách tư vấn tận tình và nhanh gọn của Tino mỗi khi có vấn đề trục trặc. Hosting ổn định, giá rẻ tốt lắm nhé mọi người
                  Tuấn Anh
                  Tuấn Anh
                  Đề nghị xem lại vấn đề phục vụ khách hàng (livchat)!
                  Nhi Nhi
                  Nhi Nhi
                  Tư vấn tận tình và nhanh. Hosting ổn định, giá rẻ
                  Lý Quế Lâm
                  Lý Quế Lâm
                  Good. Tốc độ cao. Tùy chỉnh nhiều trên shared hosting.
                  Hải Lương Văn
                  Hải Lương Văn
                  Tìm hiểu với TinoHost và luôn đồng hành
                  Bùi Quang Truyện
                  Bùi Quang Truyện
                  hosting ngon, giá luôn rẻ, tôi làm code nhưng rất thích sài host tino
                  Ngô Quốc Đạt
                  Ngô Quốc Đạt
                  Dịch vụ tốt, hỗ trợ nhiệt tình
                  Đỗ Vũ Kim Ngân
                  Đỗ Vũ Kim Ngân
                  Tino cung cấp host rất chuyên nghiệp. Đội ngũ kỹ thuật hỗ trợ rất tận tâm và nhiệt tình. Mình sẽ tiếp tục ủng hộ Tino 🥰.
                  Nguyen Van Anh
                  Nguyen Van Anh
                  Rất tuyệt vời🙆🙆🙆🙆🙆🙆🙆🙆🙆
                  Bá Hoàng
                  Bá Hoàng
                  tuyệt vời quá đi,tuyệt vời quá đi
                  Đinh Viết Duy
                  Đinh Viết Duy
                  Tốc độ ổn định, tư vấn nhiệt tình
                  Trường Thịnh Nam
                  Trường Thịnh Nam
                  mới tham gia, mong mọi người hỗ trợ thêm
                  Nguyễn Hữu Trung
                  Nguyễn Hữu Trung
                  Tốc độ khá tốt với gói rẻ nhất 9k
                  Văn Long
                  Văn Long
                  Giao dịch nhanh,support nhanh và tận tình,chuyển miền nhanh,Hosting Ok
                  Nguyễn Cần
                  Nguyễn Cần
                  mua sản phẩm dịch vụ tinhot rất tốt tặng ad 5tr ** luon nè🥰🥰🥰
                  Lương Văn Tuân
                  Lương Văn Tuân
                  ok😁😁 ddax dùng và có nhiều khuyên mãi
                  Anh Văn Phan
                  Anh Văn Phan
                  là khách hàng của tino lâu năm, mình rất hài lòng với cách làm việc cực kì chuyên nghiệp của tino. sản phẩm chất lượng và dịch vụ chăm sóc cũng rất chất lượng. hi vọng tino tiếp tục duy trì và phát huy tinh thần này
                  Quách Hồng Hanh Thông
                  Quách Hồng Hanh Thông
                  Đã mua domain và hosting tại Tinohost luôn, rất hài lòng
                  Nguyễn Phạm An
                  Nguyễn Phạm An
                  tinohost
                  một truong những nơi bán hosting rẻ, chất lượng dành cho anh em nào cần để làm web
                  mua tại : tinohost.com
                  Nguyễn Đăng  Nam
                  Nguyễn Đăng Nam
                  Tư vấn tận tình và nhanh gọn mỗi khi có vấn đề trục trặc. Hosting ổn định, giá rẻ tốt lắm nhé mọi người
                  Next Reviews
                  • Kiến thức Hosting
                  • Webmasters
                  • Khuyến Mãi
                  • Kiếm tiền online
                  • Tài liệu
                  • Bitrix24
                  • Chuyển đổi số
                  • Dịch vụ
                  Hotline: 1800 6734

                  © 2021 Tino Group - Chuyên trang thông tin hướng dẫn dịch vụ tại Tino Group. Sitemap

                  No Result
                  View All Result
                  • Kiến thức Hosting
                  • Webmasters
                  • Khuyến Mãi
                  • Kiếm tiền online
                  • Tài liệu
                    • Hướng dẫn về Tên Miền
                    • Hướng dẫn về Cloud Hosting
                    • Hướng dẫn về Cloud VPS
                    • Câu hỏi chung về WordPress
                    • Hướng dẫn Email Server
                    • Hướng Dẫn Về Tổng Đài Ảo
                    • Hướng Dẫn Về Hóa Đơn Điện Tử
                    • Hướng dẫn về Thanh Toán
                    • Hướng dẫn về Chứng chỉ SSL
                    • Hướng dẫn cho Cộng Tác Viên
                    • Hướng dẫn chung
                    • Câu hỏi thường gặp
                    • Hướng dẫn về SEO hosting.
                  • Bitrix24
                    • Applications
                    • Bitrix24 Drive
                    • Calendars
                    • Chats and Calls
                    • Contact Center
                    • CRM
                    • CRM + Online Store
                    • CRM Analytics (Beta)
                    • CRM Marketing
                    • CRM Store (Beta)
                    • Desktop App
                    • Employees
                    • Feed
                    • Knowledge Base (Beta)
                    • Mobile App
                    • My Profile
                    • Online Store (Beta)
                    • Open Chanels
                    • Robotic Process Automation (Beta)
                    • Sales Center (Beta)
                  • Chuyển đổi số
                  • Dịch vụ
                    • Dịch vụ viết content chuẩn SEO
                    • Mua tên miền
                    • Hosting giá rẻ
                    • VPS giá rẻ
                    • Email doanh nghiệp
                    • SSL giá rẻ
                    • Tổng đài ảo
                    • Hóa đơn điện tử
                    • Thiết kế website
                    • Dịch vụ chuyển đổi số

                  © 2021 Tino Group - Chuyên trang thông tin hướng dẫn dịch vụ tại Tino Group. Sitemap

                  Welcome Back!

                  Login to your account below

                  Forgotten Password?

                  Retrieve your password

                  Please enter your username or email address to reset your password.

                  Log In

                  Add New Playlist

                  Go to mobile version