khoa-pham-async-await

Promise Basic


1. Promise

let aPromise = new Promise(() => {
  console.log('Hello!');
});

Promise

let aPromise = new Promise((resolve, reject) => {
  console.log('Hello!');
});

2. Handle trạng thái

let aPromise = new Promise((resolve, reject) => {
  resolve(); // Nếu không xuất hiện lỗi.
  reject(); // Nếu xuất hiện lỗi xảy ra sẽ cảnh báo và từ chối xử lý.
});
let aPromise = new Promise((resolve, reject) => {
  resolve('Thành công.');
});
aPromise.then(() => console.log('Đã thực thi.'));
let aPromise = new Promise((resolve, reject) => {
  resolve('Thành công.');
});
aPromise.then((msg) => console.log('Đã thực thi: ', msg));

Promise resolve

let aPromise = new Promise((resolve, reject) => {
  // resolve('Thành công.');
  reject('Thất bại.');
});

aPromise.then(
  (msg) => console.log('Đã thực thi: ', msg),
  (err) => console.log('Đã thực thi: ', err + '')
);

Promise reject

let aPromise = new Promise((resolve, reject) => {
  // resolve('Thành công.');
  reject(new Error('Không thể kết nối.'));
});
aPromise.then(
  (msg) => console.log('Đã thực thi: ', msg),
  (err) => console.log(err + '')
);

Promise Error

3. Mô phỏng xử lý bất đồng bộ

let aPromise = new Promise((resolve, reject) => {
  setTimeout(() => {
    reject(new Error('Không thể kết nối.'));
    // resolve('Thành công.');
  }, 2000);
});
aPromise.then(
  (msg) => console.log('Đã thực thi: ', msg),
  (err) => console.log(err + '')
);

4. Tóm tắt