JavaScript Çok eksiğim var

Şu an fetch çalışıyorum. Eğer anlamadığım yer olursa Stack Overflow'ya da mdn gibi yerlerden çözüm bulmaya çalışıyorum. W3 çok güzel yer cidden.
Kod örneklerine bakabileceğim yerler vardı illaki ama sizin de önerdiğiniz GitHub sayfları falan var mı varsa nelerdir?
Açıkçası önerdiğim yok, MDN ve W3C fazlasıyla işimi görüyor. Kod örneklerini tek bir Github repo'sundan önermek çok akıllıca olmaz çünkü tek bir konsept için birden fazla kaynakta kod örneği taramak daha mantıklı.

Ayrıyeten reduce gibi metodları ben copy pase yapınca sanki kaçamak yoldan gitmiş hissi yaşıyorum.
Bir de böyle konularda mesela bir konunun küçük bir Trick'ini görüyorum ve ben bunu nasıl bilmem diyorum.
Kaçamak yol olarak hissetmenize gerek yok, her şeyi tam anlamıyla bilmemizin mümkünatı yok zaten. Gerçek dil öğrenir gibi düşünebilirsiniz.
 
Açıkçası önerdiğim yok, MDN ve W3C fazlasıyla işimi görüyor. Kod örneklerini tek bir GitHub Repo'sundan önermek çok akıllıca olmaz çünkü tek bir konsept için birden fazla kaynakta kod örneği taramak daha mantıklı.

Kaçamak yol olarak hissetmenize gerek yok, her şeyi tam anlamıyla bilmemizin mümkünatı yok zaten. Gerçek dil öğrenir gibi düşünebilirsiniz.

Teşekkürler hocam :)

@oynozan Hocam bir sorum var
1687600918804.png

Bu Callback'lerde şöyle bir mantık kurmak doğru mu?
Mesela bir tane hava durumu API yapıyouz. Kullanıcı bir şehir yazdı. Tıkladığı anda JSON verilerinin içinde arama yapıyor.
Burada eğer sonuç Resolve ise hava durumu bilgilerini gösterir. Reject ise hata mesajı çıkar.
Ana mantık bu mu?
 
Son düzenleme:
@oynozan Hocam bir sorum var

Bu Callback'lerde şöyle bir mantık kurmak doğru mu?
Mesela bir tane hava durumu API yapıyouz. Kullanıcı bir şehir yazdı. Tıkladığı anda JSON verilerinin içinde arama yapıyor.
Burada eğer sonuç Resolve ise hava durumu bilgilerini gösterir. Reject ise hata mesajı çıkar.
Ana mantık bu mu?
Evet hocam mantık bu. Zaman alan işlemlerde veriyi alana kadar beklememize olanak sağlıyor. Mesela fonksiyon içinde hiç reject yoksa direkt veriyi ekrana yazdırmak için console.log(await promise) de yazabilirdiniz. Tabi bunu yapmak için async kapsamında olan bir fonksiyon içerisinde olmanız lazım. En basitinden şu şekilde olabilir:
JavaScript:
(async () => {
     console.log(await promise());
 })()
 
Evet hocam mantık bu. Zaman alan işlemlerde veriyi alana kadar beklememize olanak sağlıyor. Mesela fonksiyon içinde hiç reject yoksa direkt veriyi ekrana yazdırmak için console.log(await promise) de yazabilirdiniz. Tabii bunu yapmak için async kapsamında olan bir fonksiyon içerisinde olmanız lazım. En basitinden şu şekilde olabilir:
JavaScript:
(async () => {
 console.log(await promise());
 })()

Biraz karışık hocam. Şu an sitedeki JSON verilerini çekip then ile biraz oynama yapıyorum.
Peki hocam kullanım yerlerine örnek verebilir misiniz?
 
Biraz karışık hocam. Şu an sitedeki JSON verilerini çekip then ile biraz oynama yapıyorum.
Peki hocam kullanım yerlerine örnek verebilir misiniz?
Node.js, Express.js ve veritabanlarıyla projeler yapmaya başladığınızda çok kullanacaksınız hocam. Örneğin veritabanından kullanıcı verisi çekmemiz gerekiyor, bunun için sunucuya HTTP request gönderiyoruz. HTTP request'in ulaştığı sunucuda istenen veritabanı değerini almak veya işlemini yapmak doğal olarak zaman alacaktır. Sunucudan cevap gelene kadar beklerken Promise yapısından yararlanıyoruz. Veya başka bir örnek, illa sunucunun sahibi biz olmak zorunda değiliz, kendi yazmadığımız bir sunucunun API endpoint'ine ulaşmak için yine aynı yapıyı kullanmak zorundayız.

Önceden yazdığım bir projenin örnek kodu: pokedex/src/components/PokemonList.js at main · oynozan/pokedex
 
Node.js, Express.js ve veritabanlarıyla projeler yapmaya başladığınızda çok kullanacaksınız hocam. Örneğin veritabanından kullanıcı verisi çekmemiz gerekiyor, bunun için sunucuya HTTP request gönderiyoruz. HTTP request'in ulaştığı sunucuda istenen veritabanı değerini almak veya işlemini yapmak doğal olarak zaman alacaktır. Sunucudan cevap gelene kadar beklerken Promise yapısından yararlanıyoruz. Veya başka bir örnek, illa sunucunun sahibi biz olmak zorunda değiliz, kendi yazmadığımız bir sunucunun API endpoint'ine ulaşmak için yine aynı yapıyı kullanmak zorundayız.

Önceden yazdığım bir projenin örnek kodu: pokedex/src/components/PokemonList.js at main · oynozan/pokedex
1687608066981.png
 
Çalışmaz hocam. setInterval asenkron bir fonksiyon. Şu şekilde olmalı:
JavaScript:
async function foo() {
    return new Promise((resolve, reject) => {
        setTimeout(() => resolve("1st message"), 2000);
    });
}

async function bar() {
    await console.log(foo());
    console.log("2nd message");
}
 
Çalışmaz hocam. SetInterval asenkron bir fonksiyon. Şu şekilde olmalı:
JavaScript:
async function foo() {
 return new Promise((resolve, reject) => {
 setTimeout(() => resolve("1st message"), 2000);
 });
}

async function bar() {
 await console.log(foo());
 console.log("2nd message");
}

Biraz fazla karışık cidden :(

@oynozan 🤔🤔🤔
5 sanıye beklemesini istedim ama beklemedi.

1687611145230.png
 
Son düzenleme:
Biraz fazla karışık cidden :(

@oynozan 🤔🤔🤔
5 sanıye beklemesini istedim ama beklemedi.

Eki Görüntüle 1834601
Benim hatam ya, console.log(await foo()) olmalı, Editör olmadan kafam bu kadar çalışıyor işte :D

Yazdığım örnekte önce 2 saniye bekleyip birinci mesajı gönderir sonra anında 2. mesajı gönderir. Sizin attığınız kodu baz alarak yazdım çünkü.

JavaScript:
async function foo() {
 return new Promise((resolve, reject) => {
 setTimeout(() => resolve("2nd message"), 4000);
 });
}

async function bar() {
 console.log("1st message")
 console.log(await foo());
 console.log("3rd message");
}

bar()
şeklinde denerseniz await olayını daha iyi görürsünüz.
 

Yeni konular

Geri
Yukarı