//Promise: egy aszinkron műveletet reprezentál //Három állapota lehet: //pending: fut //fulfilled: lefutott, elvégezte a feladatát //rejected: valamilyen hiba miatt vissza lett utasítva let p1=new Promise((resolve,reject)=>{ resolve(150); }); p1.then(ertek=>console.log(ertek)).catch(err=>console.log(err)); let p2=function(a,b){ return new Promise((resolve,reject)=>{ if(a>b){ resolve(a); } else { reject("Az a-nak nagyobbnak kell lennie mint ab!"); } }) } p2(100,50).then(ertek=>console.log(ertek)).catch(err=>console.log(err)); p2(50,100).then(ertek=>console.log(ertek)).catch(err=>console.log(err)); console.log("Valami"); p2(100,50).then(ertek=>p2(ertek,800)).then(ertek=>console.log(ertek)).catch(err=>console.log(err)); function novel(szam){ return szam+60; } //A promise összekombinálható normál függvénnyel p2(50,5).then(ertek=>p2(ertek,10)).then(ertek=>novel(ertek)).then(ertek=>console.log(ertek)).catch(err=>console.log(err)); async function promiseok() { try { let adat1=await p1; let adat2=await p2(adat1,10); console.log('Async:'+adat2); } catch (error) { console.log(error); } } promiseok(); //Ha a promisok egymástól függetlenek, akkor egyszerre is futtathatóak const all=Promise.all([p1,p2(190,100)]); all.then(ertekek=>console.log(ertekek)).catch(err=>console.log(err));