JavaScript Çok eksiğim var

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.
 

Teşekkürler hocam

@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?
 
Son düzenleme:
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());
 })()
 

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
 
 
Ç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.

 
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

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.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…