1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /* 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))
|