Hỏi đáp

synchronous là gì – viettingame

Synchronous

Synchronous Tức là xử lý đồng nhất, chương trình sẽ chạy theo từng bước và chỉ một khi bước 1 triển khai xong thì mới nhảy quý phái bước 2, một khi chương trình này chạy xong mới nhảy qua chương trình khác.

Đang xem: Synchronous là gì

Good:

Mọi thứ chạy theo trình tựDễ debugÍt bắt gặp lỗi

Bad:

Performance kémDễ gây tràn bộ nhớ/Crash ứng dụng vì thế những chỗ phải “chờ” vô duyên.Asynchronous

trái lại với Synchronous là xử lý bất đồng nhất, Tức là xử lý nhiều việc cùng một lúc mà ko cần theo trình tự, ko cần chờ bất kì tác vụ nào khác.

Good

Performance tốtXử lý được nhiều việc cùng một lúc

Bad

Xử lý ko tốt thậm chí phát sinh bugsKhó debug

Ví dụ:

Synchronous

const fs = require(‘fs’);
const data = fs.readFileSync(‘/file.md’); // tiến trình sẽ bị chặn ở phía trên cho tới lúc file được đọc.
console.log(data);
// moreWork(); hàm này sẽ được chạy sau hàm console.log

Asynchronous

const fs = require(‘fs’);
fs.readFile(‘/file.md’, (err, data) => );
// moreWork(); Hàm này sẽ được chạy trước hàm console.log Asynchronous & Synchronous trong JS

Về cơ bạn dạng, JS là từ ngữ Synchronous, Blocking và Single Thread. Điều đó Tức là nó chỉ chạy được 1 tác vụ 1 lần.

Blocking: Tương tự như Synchronous là những tác vụ phải chờ cho tới lúc tác vụ trước nó hoàn thành, dẫn theo performance rất xoàng xĩnh, nhất là những tác vụ liên quan tới I/O (liên quan tới ổ đĩa & mạng).

AJAX

Trên đây là quan niệm đã sở hữu từ lâu, vậy AJAX là gì ?

AJAX -> Asynchronous Javascript and XML.

Vậy tóm lại AJAX là một kĩ thuật sử dụng để xử lý bất đồng nhất, đoạn code dưới sẽ được chạy tuy vậy tuy vậy.

Xem thêm: Công Nghệ 4G Là Gì ? Công Nghệ 2G3G,4G Là Gì

var a = ‘abc’;
$.ajax(
success: function(res)
});
console.log(a); // -> In ra ‘abc’ Promise

Là một tính năng trong Javascript sử dụng để xử lý Bất Đồng Bộ. Dịch ra tiếng Việt là “lời hứa”.

Hiểu nôm na về Promise:

Mẹ các bạn hứa sắm cho chính mình một chiếc điện thoại cảm ứng thông minh vào tuần tới.

Các bạn sẽ ko biết được liệu các bạn sẽ nhận được mẫu điện thoại cảm ứng thông minh hay là không cho tới tuần tới. Mẹ các bạn sẽ thực sự sắm cho chính mình một chiếc điện thoại cảm ứng thông minh mới nếu bà vui hoặc từ chối nếu ngược lại.

Này là một chiếc Promise.

Promise sở hữu 3 trạng thái:

Pending: Các bạn sẽ ko biết liệu mình sẽ nhận được mẫu điện thoại cảm ứng thông minh mới hay là không cho tới tuần sau.Resolved: Các bạn nhận được mẫu điện thoại cảm ứng thông minh mới.Rejected: Các bạn ko nhận được điện thoại cảm ứng thông minh vì thế mẹ ko vui.Tạo Promisevar isMomHappy = false;

// Promise
var willIGetNewPhone = new Promise(
function (resolve, reject) ;
resolve(phone); // Resolved
} else

}
);

Ở đoạn code trên ta thấy được:

Biến isMomHappy được định nghĩa việc mẹ vui hay là không.Và Promise willIGetNewPhone vừa thậm chí là resolved (nếu mẹ vui) hoặc rejected (nếu mẹ ko vui).Dòng cần nhớ ở phía trên là phải gọi hàm resolved(giá_trị_đúng) nếu hậu quả trả về là đúng và ngược lại nếu sai phải gọi rejected(giá_trị_sai).Sử dụng Promisevar askMom = function ()
})
.catch(function (error) );
};

askMom();

Ở đoạn code trên ta thấy được:

Hàm askMom được khởi tạo, và bên trong hàm này ta sẽ gọi Promise willIGetNewPhone .Chúng ta sẽ phải gọi những hành vi lúc mà mẫu Promise đấy resolved hoặc rejected bằng cách sử dụng then và catch.Trong ví dụ ở trên, bên trong then ta sở hữu hàm function(res) vậy res ở phía trên là gì ? Đó đó là giá trị mà chúng ta đã truyền vào bên trong Promise trải qua resolve. Và ở ví dụ ở trên res ở phía trên đó là object phone trong resolve(phone).Tương tự chúng ta sở hữu function(error) bên trong catch. Đó đó là giá trị ta đã truyền vào trải qua reject. Ở ví dụ trên đó đó là biến reason trong var reason = new Error(‘Mẹ ko vui’); được truyền vào trải qua reject(reason).

Xem thêm: What Is Vulkanrt And Should You Uninstall It? What Is Vulkanrt

Next lessons:

API/Restful APIAPI CallApply Promise to make HTTP RequestAxios

Keywords: Asynchronous, Synchronous, Promise, Blocking/Non-Blocking IO.

Về Viettingame.com

Viettingame.com - Chuyên trang web tổng hợp những thông tin hữu ích trên internet như thông tin về game, tin tổng hợp
Xem tất cả các bài viết của Viettingame.com →

Trả lời

Email của bạn sẽ không được hiển thị công khai.