A Promise segítségével egy aszinkron folyamat eredményét várjuk.
new Promise()
var p = new Promise((resolve, reject) => {});
var p = new Promise((resolve, reject) => { let a = 30+35; if(a == 65) { resolve('Success'); }else { reject('Failed'); } });
Böngésző konzoljára: p<Enter>
p.then(res => { console.log('A then eredménye: ', res); }) .catch(err => { console.log('A catch eredménye: ', err); })
const szallitas = new Promise((szallitas, visszautasitas) => {});
Nézzük meg a böngészőben. Írjuk konzolon:
szallitas
Majd: <Enter>
Sikeres szállítás:
const szallitas = new Promise((szallitas, visszautasitas) => { szallitas(); });
Sikertelenség:
const szallitas = new Promise((szallitas, visszautasitas) => { visszautasitas(); });
const szallitas = new Promise((szallitas, visszautasitas) => { const ran = Math.random(); console.log(ran); if (ran > 0.5) { szallitas(); } visszautasitas(); });
const szallitas = new Promise((szallitas, visszautasitas) => { setTimeout(()=> { const ran = Math.random(); console.log(ran); if (ran > 0.5) { szallitas(); } visszautasitas(); }, 10000); });
const szallitas = new Promise((szallitas, visszautasitas) => { setTimeout(()=> { const ran = Math.random(); console.log(ran); if (ran > 0.5) { szallitas(); } visszautasitas(); }, 10000); }); szallitas.then(() => { console.log('Szállítás történik'); }) szallitas.catch(() => { console.log('Hiba! Sikertelen szállítás!'); });
const lekerSzallitas = () => { return new Promise((szallitas, visszautasitas) => { setTimeout(()=> { const ran = Math.random(); console.log(ran); if (ran > 0.5) { szallitas(); } visszautasitas(); }, 10000); }); }; lekerSzallitas().then(() => { console.log('Szállítás történik'); }); lekerSzallitas().catch(() => { console.log('Hiba! Sikertelen szállítás!'); });
const lekerSzallitas = () => { return new Promise((szallitas, visszautasitas) => { setTimeout(()=> { const ran = Math.random(); console.log(ran); if (ran > 0.5) { szallitas(); } visszautasitas(); }, 10000); }); }; lekerSzallitas().then(() => { console.log('Szállítás történik'); }) .catch(() => { console.log('Hiba! Sikertelen szállítás!'); });
const lekerSzallitas = () => { return new Promise((szallitas, visszautasitas) => { setTimeout(()=> { const ran = Math.random(); console.log(ran); if (ran > 0.5) { szallitas('Siker'); } visszautasitas('Hiba! A szállítás nem lehetséges'); }, 10000); }); }; lekerSzallitas().then( res => { console.log(res); }) .catch( res => { console.log(res); });
A függőségek pokla:
getPosts('https://zold.lan/employees', function (employees) { getOneEmploye('https://zold.lan/employee/' + employees[0].id, function (employee) { someData(employee, function (employeeData) { renderEmployee(employeeData); }); }); });