Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
function httpGet(url) { return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onload = function () { if (this.status == 200) { resolve(this.response); } else { var error = new Error(this.statusText); error.code = this.status; reject(error); } }; xhr.onerror = function () { reject(new Error("Network Error")); }; xhr.send(); }); } httpGet("/article/promise/user.json") .then( response => console.log(`Fulfilled: ${response}`), error => console.log(`Rejected: ${error}`) ); console.log('не лезь');
fetch("/article/promise/user.json") .then(response => { if (response.status >= 400) { throw new Error('Oops'); } return response.text(); // or response.json() }) .then(response => console.log(`Ок: ${response}`)) .catch(error => console.log(`Не лезь: ${error}`));
const delay = fn => new Promise((ok, fail) => { setTimeout( () => { try { ok(fn()) } catch (err) { fail(err) } }, 1000 });