/* function confirmPromise(text){ return new Promise((fulfill, reject) => { //fulfill() //reject() }) } */ /* confirm Написать функцию промисифицирующую confirm. Функция должна принимать текст для confirm, и создавать (а также возвращать) промис, который резолвится по нажатию ok, и реджектится по нажатию cancel в окне confirm. */ /* function confirmPromise(text){ return new Promise((fulfill, reject) => { confirm(text) ? fulfill(): reject(); }) } confirmPromise('is this promis'); */ /* function confirmPrompt(text){ return new Promise((fulfill, reject) => { let answ = prompt(text); answ ? fulfill(answ): reject('Error'); }) } confirmPrompt('is this promis').then( res => console.log(res)); */ /* LoginForm Промисифицировать LoginForm, сделать функцию, которая возвращает промис, и принимает настройки для LoginForm. Промис должен резолвится с объектом вида {login, password}, reject - при нажатии отмен. */ function LoginForm(parent = document.body){ return new Promise((fulfill, reject) => { const inputLogin = document.createElement('input'); const inputP = document.createElement('input'); const btnOk = document.createElement('button'); const btnCancel = document.createElement('button'); btnCancel.innerText = 'Cancel'; btnOk.innerText = 'OK'; parent.append(inputLogin, inputP, btnOk, btnCancel); btnOk.onclick = () => { let login = inputLogin.value; let password = inputP.value; if(login && password){ fulfill({login, password}) inputLogin.value = ''; inputP.value = ''; }; } btnCancel.onclick = () =>reject('Error in form data'); }) } LoginForm().then(res => console.log(res))