node-desleri-by105
Version:
du bir deneme sürümüdür. 22222
122 lines (92 loc) • 3.08 kB
JavaScript
// Promise Anlatımı
/*
const myPromise = new Promise((resolve, reject) => {
console.log("3 saniyelik işlem başlıyor")
setTimeout(() => {
console.log("3 saniyelik işlem bitti");
// resolve("işlem sonucu burada <========================");
reject("hata çıktı");
// resolve ve reject aynı anda kullanılmaz
}, 3000)
})
myPromise
.then(sonuc => console.log(sonuc))
.catch(hata => console.log(hata)); */
// myPromise.catch(hata => console.log(hata));
console.log("Started");
console.log("ended");
function getUser(id) {
return new Promise((resolve, reject) => {
console.log(id + " idli kullanıcı getiriliyor ")
setTimeout(() => {
resolve({ id: id, ad: "Umut" })
}, 1500)
})
}
function getCourse(userName) {
console.log(userName + " adlı kullaınıcının kursları getiriliyor")
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(["java", "flutter", "kotlin"])
}, 2000)
})
}
function getComments(courseName) {
console.log(courseName + " adlı kursun yorumları getiriliyor")
return new Promise((resolve, reject) => {
setTimeout(_ => {
resolve(courseName + " adlı kursun yorumu ==========> " + courseName + " kursu çok güzel")
}, 3000)
})
}
/*
getUser(1000)
.then(response => getCourse(response.ad))
.then(response => getComments(response[0]))
.then(yorum => console.log(yorum))
.catch(err => console.log(err))
*/
/*
async function yorumlariGoster() {
try {
const a = await getUser(123);
const b = await getCourse(a.ad);
const c = await getComments(b[0]);
console.log(c)
} catch (err) {
console.log("hata çıktı => " + err)
}
} */
// yorumlariGoster();
/*
const promiseSuccess = Promise.resolve("selam bu bir başarılı promise => Promise.resolve() ");
promiseSuccess
.then(response => console.log(response));
const promiseError = Promise.reject(new Error("Hata oluştu moruk => Promise.reject()"));
promiseError
.then(sonuc => console.log(sonuc))
.catch(err => console.log(err));
*/
const p1 = new Promise((resolve) => {
setTimeout(() => {
resolve("p1 5 saniye sonra bitti")
}, 5000)
})
const p2 = new Promise((resolve, reject) => {
setTimeout(() => {
// reject("hata çıktı amk")
resolve("p2 4 saniye sonra bitti")
}, 4000)
})
const promiseAll = Promise.all([p1, p2]);
// elemanların ekrana gelme sırası ilk hangisi yazılıysa ilk o yazılıyor en son console çıkması için ikisininde bitmesi lazım
/* promiseAll
.then(sonuc => {
console.log(sonuc);
console.log(sonuc[0])
console.log(sonuc[1])
})
.catch(err => console.log("hata çıktı " + err)) */
const promiseRace = Promise.race([p1, p2])
promiseRace
.then(sonuc => console.log(sonuc));