// Промисификация: // каркас // function confirmPromise(text){ // return new Promise((fulfill, reject) => { // //fulfill() // //reject() // }) // } // confirm // Написать функцию промисифицирующую confirm.Функция должна принимать текст для confirm, // и создавать(а также возвращать) промис, который резолвится по нажатию ok, и реджектится по нажатию cancel в окне confirm. // prompt // Написать функцию промисифицирующую prompt.Функция должна принимать текст для prompt, // и создавать(а также возвращать) промис, который резолвится по нажатию ok с результатом, введенным пользователем, // и реджектится по нажатию cancel в окне prompt. // LoginForm // Промисифицировать LoginForm, сделать функцию, которая возвращает промис, и принимает настройки для LoginForm. // Промис должен резолвится с объектом вида { login, password }, reject - при нажатии отмен. //РЕШЕНИЕ function confirmPromise(text){ return new Promise((fulfill, reject) => { confirm(text)?fulfill():reject() }) } confirmPromise("ку-ку").then(result => console.log('Нажали ок')).catch(result => console.log('Нажали отмена')) function promptPromise(text){ return new Promise((fulfill, reject) => { let x = prompt(text); x? fulfill(x) : reject() }) } promptPromise("Сколько тебе лет?").then(result => console.log(result)).catch(result => console.log('Нажали отмена')) function formPromise(parent){ return new Promise((fulfill, reject) => { const loginInput = document.createElement('input'); const passInput = document.createElement('input'); const signInBtn = document.createElement("button"); const cancelBtn = document.createElement("button"); loginInput.placeholder = 'login'; passInput.placeholder = 'password'; signInBtn.textContent = 'Sign in'; cancelBtn.textContent = 'Cancel'; parent.append(loginInput); parent.append(passInput); parent.append(signInBtn); parent.append(cancelBtn); signInBtn.onclick = () => { const user = { login: loginInput.value, password: passInput.value }; fulfill(user) loginInput.value = ''; passInput.value = ''; } cancelBtn.onclick = () => {reject() } }) } formPromise(loginForm).then(result => console.log(result)).catch(result => console.log('Нажали отмена'))