Skip to content

Commit 28b79f1

Browse files
authored
corrected grammatical errors
1 parent df96bf8 commit 28b79f1

File tree

1 file changed

+26
-28
lines changed

1 file changed

+26
-28
lines changed

Diff for: 1-js/11-async/01-callbacks/article.md

+26-28
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
1-
2-
3-
# Įvadas: *callbacks*
1+
# Įvadas: callbacks
42

53
```warn header="We use browser methods here"
6-
*Callbackų*, *promise'ų* ir kitų abstrakčių koncepcijų veikimo demonstacijai, bus naudojami naršyklės metodai. Pagrinde bus atliekamos paprastos dokumentų manipuliacijos pasitelkiant skriptus.
4+
*Callback'ų*, *promise'ų* ir kitų abstrakčių koncepcijų veikimo demonstacijai, bus naudojami naršyklės metodai. Pagrinde bus atliekamos paprastos dokumentų manipuliacijos pasitelkiant skriptus.
75
86
Jeigu šie metodai Jums dar nepažįstami, jų naudojimas pavyzdžiuose trikdo ar tiesiog norėtumėte juos suprasti geriau, pamėginkite paskaityti kelis skyrius iš kitos šių pratybų [dalies](/document).
97
```
108

11-
Daugelis veiksmų JavaScripte yra *asinchroniški* (*asynchronous*). Kitaip tariant, mes juos inicijuojame dabar, bet jie įvykdomi vėliau.
9+
Daugelis veiksmų JavaScript'e yra *asinchroniški* (*asynchronous*). Kitaip tariant, mes juos inicijuojame dabar, bet jie įvykdomi vėliau.
1210

1311
Tokį veiksmą ateičiai mes galime suplanuoti naudodami `setTimeout` metodą.
1412

1513
Egzistuoja ir kiti asinchroninių veiksmų pavyzdžiai, tarkime, skriptų ir modulių (*modules*) užkrovimas (juos aptarsime vėlesniuose skyriuose).
1614

17-
Pažvelkite į `loadScript(src)` funkciją, kurį užkrauna skriptą su pateiktu `src`.
15+
Pažvelkite į `loadScript(src)` funkciją, kurį užkrauna skriptą su pateiktu `src`:
1816

1917
```js
2018
function loadScript(src) {
@@ -107,11 +105,11 @@ Tai vadinama *callback'ais* grįstu (*callback-based*) asinchroniniu programavim
107105

108106
Mes panašiai paderėme pavyzdynėje `loadScript` funkcijoje.
109107

110-
## *Callback* funkcija *callback* funkcijoje
108+
## Callback funkcija callback funkcijoje
111109

112110
O kaip paleisti du skriptus paeiliui? Pirmą, o po jo – antrą.
113111

114-
Naturalus sprendimas būtų įdėti antrąjį `loadScript` išvietimą *callbacke*, štai taip:
112+
Naturalus sprendimas būtų įdėti antrąjį `loadScript` iškvietimą *callback'e*, štai taip:
115113

116114
```js
117115
loadScript('/my/script.js', function(script) {
@@ -127,7 +125,7 @@ loadScript('/my/script.js', function(script) {
127125
});
128126
```
129127

130-
Kai išorinė `loadScript` funkcija įvykdoma, *callbackas* inicijuoja vidinę.
128+
Kai išorinė `loadScript` funkcija įvykdoma, *callback'as* inicijuoja vidinę.
131129

132130
O kas, jeigu mums reikalingas dar vienas skriptas?
133131

@@ -147,13 +145,13 @@ loadScript('/my/script.js', function(script) {
147145
});
148146
```
149147

150-
Taigi, kekviena nauja operacija yra *callbacko* viduje. Tai priimtina nedideliam kiekiui operacijų. Kitus šios problemos spredimo būdus aptarsime netrukus.
148+
Taigi, kekviena nauja operacija yra *callback'o* viduje. Tai priimtina nedideliam kiekiui operacijų. Kitus šios problemos spredimo būdus aptarsime netrukus.
151149

152-
## Tikdžių valdymas
150+
## Klaidų valdymas
153151

154-
Ankstesniuose pavyzdžiuose mes visiškai nekalbėjome apie tikdžius (*errors*). Kas, jei skripto krovimasis nepavyksta? Tokiu atveju mūsų *callbackas* turėtų sugebėti į tai reaguoti.
152+
Ankstesniuose pavyzdžiuose mes visiškai nekalbėjome apie klaidas (*errors*). Kas, jei skripto krovimasis nepavyksta? Tokiu atveju mūsų *callback'as* turėtų sugebėti į tai reaguoti.
155153

156-
Štai patobulinta `loadScript` versija, kuri suseka krovimosi trikdžius.
154+
Štai patobulinta `loadScript` versija, kuri suseka krovimosi klaidas.
157155

158156
```js
159157
function loadScript(src, callback) {
@@ -175,24 +173,24 @@ Panaudojimas:
175173
```js
176174
loadScript('/my/script.js', function(error, script) {
177175
if (error) {
178-
// suvaldomas trikdis
176+
// apdoroti klaidą
179177
} else {
180178
// skriptas užkrautas sėkmingai
181179
}
182180
});
183181
```
184182

185-
Būdas, kuriuo mes pasinaudojome paleisti `loadScript`, yra gan dažnas. Jis pirmenybę teikia trikdžių valdymui *callbackais* ("error-first callback style").
183+
Būdas, kuriuo mes pasinaudojome paleisti `loadScript`, yra gan dažnas. Jis pirmenybę teikia klaidų valdymui *callback'ais* ("error-first callback style").
186184

187185
Šio stiliaus konvencija teigia:
188-
1. Pirmasis *callbacko* argumentas yra rezervuotas trikdžiui, jei jis pasitaikys. Čia kviečiama `callback(err)` funkcija.
186+
1. Pirmasis *callback'o* argumentas yra rezervuotas klaidai, jei pasitaikys. Čia kviečiama `callback(err)` funkcija.
189187
2. Antrasis argumentas (ir tolimesni, jei jie reikalingi) yra skirtas sėkmingam rezultatui. Tuomet kviečiama `callback(null, result1, result2…)` funkcija.
190188

191-
Taigi, viena `callback` funkcija yra tinkama ir informavimui apie trikdžius ir rezultatų grąžinimui.
189+
Taigi, viena `callback` funkcija yra tinkama ir informavimui apie klaidas ir rezultatų grąžinimui.
192190

193-
## „Pražūties piraminė“ (Pyramid of Doom)
191+
## „Pražūties piramidė“ (Pyramid of Doom)
194192

195-
Iš pirmo žvilgstio – tai geras būdas asinchroniniam kodavimui. Vienam ar dviem sugrupuotiems funkcijų išvietimams jis tikrai tinka.
193+
Iš pirmo žvilgstio – tai geras būdas asinchroniniam kodavimui. Vienam ar dviem sugrupuotiems funkcijų iškvietimams jis tikrai tinka.
196194

197195
Bet didesniam kiekiui viena kitą sekančių asinchroninių operacijų mes turėsime štai tokį kodą:
198196

@@ -225,13 +223,13 @@ loadScript('1.js', function(error, script) {
225223
```
226224

227225
Šiame kode:
228-
1. Mes krauname `1.js`, tuomet, jei nėra trikdžių.
229-
2. Mes krauname `2.js`, tuomet, jei nėra trikdžių.
230-
3. Mes krauname `3.js`, tuomet, jei nėra trikdžių – darome kažką kito `(*)`.
226+
1. Mes krauname `1.js`, tuomet, jei nėra klaidų.
227+
2. Mes krauname `2.js`, tuomet, jei nėra klaidų.
228+
3. Mes krauname `3.js`, tuomet, jei nėra klaidų – darome kažką kito `(*)`.
231229

232-
Visi funkcijų išvietimai tampa vis labiau sugrupuoti, kodas gilėja ir tampa sunkiai suvaldomu. Ypač, jei vietoj daugtaškių `...` turime tikrą kodą, su ciklais (*loops*), sąlyginėmis išraiškomis (*conditional statements*) ir t.t.
230+
Visi funkcijų iškvietimai tampa vis labiau sugrupuoti, kodas gilėja ir tampa sunkiai suvaldomu. Ypač, jei vietoj daugtaškių `...` turime tikrą kodą, su ciklais (*loops*), sąlyginėmis išraiškomis (*conditional statements*) ir t.t.
233231

234-
Tai kartais vadinama „*callbackų* pragaru“ arba „pražūties piramide“.
232+
Tai kartais vadinama „*callback'ų* pragaru“ arba „pražūties piramide“.
235233

236234
<!--
237235
loadScript('1.js', function(error, script) {
@@ -259,7 +257,7 @@ loadScript('1.js', function(error, script) {
259257

260258
![](callback-hell.svg)
261259

262-
Sugrupuotų funkcijų išvietimų piramidė auga su kiekviena asinchronine operacija ir greitai tampa nekontroliuojama.
260+
Sugrupuotų funkcijų iškvietimų piramidė auga su kiekviena asinchronine operacija ir greitai tampa nekontroliuojama.
263261

264262
Todėl toks kodo rašymo būdas nėra labai geras.
265263

@@ -290,17 +288,17 @@ function step3(error, script) {
290288
if (error) {
291289
handleError(error);
292290
} else {
293-
// ...continue after all scripts are loaded (*)
291+
// ...tęsti užsikrovus visiems skriptams (*)
294292
}
295293
};
296294
```
297295

298-
Matote? Ji daro tą patį, bet šiuo atveju nebeligo komplikuoto operacijų grupavimo, nes kiekvieną veiksmą mes pavertėme atskira *top-level* funkcija.
296+
Matote? Ji daro tą patį, bet šiuo atveju nebeliko komplikuoto operacijų grupavimo, nes kiekvieną veiksmą mes pavertėme atskira *top-level* funkcija.
299297

300298
Viskas veikia, tačiau kodas atrodo prastai. Jis sunkiai skaitomas, o skaitytojas turi šokinėti nuo vienos kodo dalies prie kitos. Tai nepatogu, ypač jei skaitantysis nėra susipažinęs su šiuo kodu ir tiksliai nežino, kur ieškoti reikiamos kodo dalies.
301299

302300
Taipogi, funkcijos pavadinimu `step*` yra vienkartinės ir sukurtus tik „pražūties piramidei“ išvengti. Jos nebebus panaudoto šios kodo grandinės išorėje, tad susiduriame su vardų srities (*namespace*) teršimu.
303301

304302
Mums reikėtų kažko geresnio.
305303

306-
Laimei, yra kitų būtų išvengti minėtų „piramidžių“. Geriausias būdas yra naudoti „pažadus“, aptariamus kitame skyriuje.
304+
Laimei, yra kitų būdų išvengti minėtų „piramidžių“. Geriausias būdas yra naudoti „pažadus“ (*promises*), aptariamus kitame skyriuje.

0 commit comments

Comments
 (0)