|
2 | 2 |
|
3 | 3 | # Callback fonksiyonlarına giriş |
4 | 4 |
|
5 | | -Çoğu JavaScript eylemleri *asenkron*'dur |
| 5 | +Çoğu JavaScript eylemleri *asenkron*'dur. |
6 | 6 |
|
7 | 7 | Aşağıdaki `loadScript(src)` fonksiyonuna bakacak olursanız: |
8 | 8 |
|
@@ -32,7 +32,7 @@ loadScript('/my/script.js'); |
32 | 32 | // ... |
33 | 33 | ``` |
34 | 34 |
|
35 | | -Diyelimki kod yüklendikten sonra yeni kodu kullanmak istiyor olalım. Yeni fonksiyonlar yaratılmışsa bunları kullanacağımızı varsaylım. |
| 35 | +Diyelim ki kod yüklendikten sonra yeni kodu kullanmak istiyor olalım. Yeni fonksiyonlar yaratılmışsa bunları kullanacağımızı varsayalım. |
36 | 36 |
|
37 | 37 | Eğer bunu doğrudan `loadScript(…)` çağrısı sonrasına yaparsanız çalışmaz: |
38 | 38 |
|
@@ -167,13 +167,13 @@ Yine bu yöntemin genel bir kullanım olduğunu söyleyebiliriz. Buna "error-fir |
167 | 167 | Düzen şu şekildedir: |
168 | 168 |
|
169 | 169 | 1. `callback`'in ilk argümanı hata için ayrılır. Sonra `callback(err)` çağırılır. |
170 | | -2. İkinci argüman ise başarılı bir sonuçta gönderilir. Sonra `callback(null, result1, result2...)` çağrılır. |
| 170 | +2. İkinci argüman ise başarılı bir sonuçta gönderilir. Sonra `callback(null, result1, result2...)` çağırılır. |
171 | 171 |
|
172 | 172 | Böylece tek bir `callback` fonksiyonu ile hem hata gönderilebilir, hem de cevap dönülebilir. |
173 | 173 |
|
174 | 174 | ## Kıyamet pramidi |
175 | 175 |
|
176 | | -İlk bakıldığında asenkron kodlama mantıklı gelebilir. Gerçekten de öyle. Bir veya iki çağrılar fena görünmüyor. |
| 176 | +İlk bakıldığında asenkron kodlama mantıklı gelebilir. Gerçekten de öyle. Bir veya iki çağrı fena görünmüyor. |
177 | 177 |
|
178 | 178 | Fakat birden çok asenkron iş için kod aşağıdaki gibi olacaktır: |
179 | 179 |
|
@@ -251,11 +251,11 @@ function step3(error, script) { |
251 | 251 | } |
252 | 252 | }; |
253 | 253 | ``` |
254 | | -Gördüğünüz gibi aynısı, fakat iç içe yazılmış derinelemesine bir fonksiyon yok. Her iş ayrı bir fonksiyonda tamamlanıyor. |
| 254 | +Gördüğünüz gibi aynısı, fakat iç içe yazılmış derinlemesine bir fonksiyon yok. Her iş ayrı bir fonksiyonda tamamlanıyor. |
255 | 255 |
|
256 | | -Tamamdır. Artık çalışıyor fakat ayrı ayrı bir tablo gibi duruyor. Okuması oldukça zor, sizin de farkedeceğiniz gibi okurken sürekli ileri geri kodları inceliyorsunuz. Bu kullanışsız bir yöntem oldu, hele ki kod okumayla pek uğraşmayanlar nereye zıplayacaklarını anlayamayacaklardır. |
| 256 | +Tamamdır. Artık çalışıyor fakat ayrı ayrı bir tablo gibi duruyor. Okuması oldukça zor, sizin de fark edeceğiniz gibi okurken sürekli ileri geri kodları inceliyorsunuz. Bu kullanışsız bir yöntem oldu, hele ki kod okumayla pek uğraşmayanlar nereye zıplayacaklarını anlayamayacaklardır. |
257 | 257 |
|
258 | | -Ayrıca `step*` fonksiyonu tek kullanımlık oldu. Amaç sadece "kıyamet piramidi"'nden korunmak. Bu fonksiyonları başka kimse kullanmayacaktır. Böylece boş bir sürü isim kullandık ve çöplüğe çevirdik. |
| 258 | +Ayrıca `step*` fonksiyonu tek kullanımlık oldu. Amaç sadece "kıyamet piramidi"nden korunmak. Bu fonksiyonları başka kimse kullanmayacaktır. Böylece boş bir sürü isim kullandık ve çöplüğe çevirdik. |
259 | 259 |
|
260 | 260 | Bu problemi çözmek için daha iyi bir yöntem mevcut. |
261 | 261 |
|
|
0 commit comments