Sorunun çözülmüş hali aşağıdadır hocam.
Gerekli parametreleri, resolve içerisinde json formatında gönderirseniz, then fonksiyonu içerisinde yakalayıp, gönderilen parametrelere ulaşabilirsiniz.
let restoranDurumu = true;
let restoranaGir = (firstName, password, order) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (restoranDurumu) {
resolve({
customerName: firstName,
orderName: order
});
} else {
reject("Restoran kapalı");
}
}, 2000);
});
}
let siparisVer = (customerName, orderName) => {
return new Promise((resolve, reject) => {
let siparisNo = Math.random() * 11;
setTimeout(() => {
resolve({
message: "Sayın " + customerName + ", bir adet " + orderName + " isimli siparişiniz hazırlandı.",
siparisNo:siparisNo,
customerName: customerName,
orderName: orderName
});
}, 2000);
});
}
let siparisDetaylari = (siparisNo, customerName, orderName) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve({
customerName: customerName,
siparisNo: siparisNo,
orderName: orderName
})
}, 2000);
});
}
restoranaGir("Alperen", 12345, "Büyük Boy Pizza")
.then((detail) => {
console.log("Restorana Girildi");
console.log(detail.customerName);
return siparisVer(detail.customerName, detail.orderName);
}).then(order => {
console.log(order.message);
return siparisDetaylari(order.siparisNo, order.customerName, order.orderName);
}).then(details => {
console.log(details);
});