-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.js
63 lines (42 loc) · 1.42 KB
/
main.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
50
51
52
53
54
55
56
57
58
59
60
61
62
(function () {
// config
let $list
// retorna os dados
function getData(callBack) {
const url = "https://swapi.dev/api/starships/";
fetch(url) // o fetch para requisicoes http atraves de promises
.then((Response) => { // o response e uma interface da fetch que representa um resposta a requisicao. Eu uso then para pegar o resultado da promessa quando ela for terminada
return Response.json() // aqui e quis pegar os dados que estao no body que e uma string json
})
.then((data) => {
callBack(data)
})
}
function createListElement(data) {
if (!data) return;
data.results.forEach((item) => {
const $li = document.createElement('li')
const $p = document.createElement('p')
const $p2 = document.createElement('p')
const $h1 = document.createElement('h1')
$h1.innerHTML = item.name
$p.innerHTML = item.model
$p2.innerHTML = item.manufacturer
$list.appendChild($li) // junta isso no meu html
$li.appendChild($h1)
$li.appendChild($p)
$li.appendChild($p2)
})
}
function getDOMElements() {
$list = document.getElementById('ships');
}
// bootstrap
function init() {
getDOMElements();
getData((data) => { // passo os conteudo do cb para o createListEment
createListElement(data);
});
}
window.onload = init;
})()