Files
  • index.js
  • package-lock.json
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const request = require('request');

// Khởi tạo phương thức sử dụng Async - Await
const runAsyncAwait = async () => {
  const categories = await getDataFromApi(
    'http://5c43e48357499f00143cedd1.mockapi.io/api/categories'
  );

  // Lấy category có name = HaiTen
  const cateHaiTen = categories
          .filter(category => category.name === 'Haiten');

  // Lấy id của category name = HaiTen
  const getIdHaiTen = cateHaiTen[0].id;

  // Lấy ra các products thuộc category name = HaiTen
  const prosOfHaiTen = await getDataFromApi(
    `http://5c43e48357499f00143cedd1.mockapi.io/api/categories/${getIdHaiTen}/products`
  );

  console.log(prosOfHaiTen);

  return true;
};


runAsyncAwait();


// Khởi tạo chung 1 phương thức có tham số là endpoint
function getDataFromApi(endpoint) {
  return new Promise(function(resolve, reject) {
    request(endpoint, function (error, response, body) {
      let info = {};

      if (error) {
        return reject(error);
      }

      if (response.statusCode == 200) {
        info = JSON.parse(body);
        return resolve(info);
      }
    });

  })

};
node v10.15.2 linux/amd64