123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- //Task fetch basic
- // function receivInfoForLuck (dom, url) {
- // fetch(url)
- // .then(res => res.json())
- // .then(luke => {
- // console.log(luke);
-
- // const table = document.createElement('table');
- // table.style.border = '1px solid';
- // table.style.borderCollapse = 'collapse';
- // dom.append(table);
-
- // for (let [key, value] of Object.entries(luke)) {
- // const tr = document.createElement('tr');
- // const th = document.createElement('th');
- // th.style.border = '1px solid #000';
- // const td = document.createElement('td');
- // td.style.border = '1px solid #000';
- // td.style.width = '300px'
- // table.append(tr);
- // tr.appendChild(th).innerHTML = `${key}`;
- // tr.append(td);
- // if (value.constructor == Array) {
- // for (let index of value) {
- // const p = document.createElement('p');
- // td.appendChild(p).innerHTML = `${index}\n `;
- // }
- // }
- // if (value.constructor!== Array) {
- // td.innerHTML = `${value}`
- // }
- // }
- // })
- // }
- // receivInfoForLuck(document.body, 'https://swapi.dev/api/people/1/')
- // Task fetch improved
- // function receivInfoForLuck (dom, url) {
- // fetch(url)
- // .then(res => res.json())
- // .then(luke => {
- // console.log(luke);
-
- // const table = document.createElement('table');
- // table.style.border = '1px solid';
- // table.style.borderCollapse = 'collapse';
- // dom.append(table);
-
- // for (let [key, value] of Object.entries(luke)) {
-
- // const tr = document.createElement('tr');
- // const th = document.createElement('th');
- // th.style.border = '1px solid #000';
- // const td = document.createElement('td');
- // td.style.border = '1px solid #000';
- // td.style.width = '300px'
- // table.append(tr);
- // tr.appendChild(th).innerHTML = `${key}`;
- // tr.append(td);
- // let numberForButton = 1;
- // function createInput (value, buttonNumber) {
-
- // const input = document.createElement('input');
- // input.type = 'button';
- // input.value = `${buttonNumber}`;
- // td.appendChild(input);
- // numberForButton ++;
- // input.onclick = () => receivInfoForLuck(document.body, value);
- // }
-
- // if (value.constructor == Array) {
-
- // for (let index of value) {
-
- // if (typeof(index) !== 'string') {
- // const p = document.createElement('p');
- // td.appendChild(p).innerHTML = `${index}\n `;
- // }
- // else if (index.includes('https://swapi.dev/api/')) {
- // createInput(index, numberForButton);
- // }
- // else {
- // const p = document.createElement('p');
- // td.appendChild(p).innerHTML = `${index}\n `;
- // }
- // }
- // }
- // if (value.constructor!== Array) {
-
- // if (typeof(value) !== 'string') {
- // td.innerHTML = `${value}`;
- // }
- // else if (value.includes('https://swapi.dev/api/')) {
- // createInput(value, numberForButton);
- // }
- // else {
- // td.innerHTML = `${value}`;
- // }
- // }
- // }
- // })
- // }
-
- // receivInfoForLuck(document.body, 'https://swapi.dev/api/people/1/');
- //Task myfetch
- function myfetch(url){
- return new Promise(function (resolve, reject){
- const xhr = new XMLHttpRequest();
- xhr.open('GET', url);
- xhr.send();
- xhr.onload = function() {
- if (xhr.status != 200) {
- return reject(`Ошибка ${xhr.status}: ${xhr.statusText}`);
-
- } else {
- let value = JSON.parse(xhr.response);
- return resolve(value);
- }
- xhr.onerror = function() {
- return reject('Запрос не удался');
- };
- };
- })
- }
- // let a = myfetch('https://swapi.dev/api/people/1/');
- // a.then(res => console.log(res));
- //TASK race
- const delay = ms => new Promise(ok => setTimeout(() => ok(ms*Math.random()), ms))
- Promise.race([
- myfetch('https://swapi.dev/api/people/1/'),
- delay(600)
- ]).then(obj => console.log(obj));
|