Skip to content

Commit 4fe47d1

Browse files
committed
finished translating article
1 parent 375dcad commit 4fe47d1

File tree

1 file changed

+15
-15
lines changed
  • 1-js/06-advanced-functions/08-settimeout-setinterval

1 file changed

+15
-15
lines changed

1-js/06-advanced-functions/08-settimeout-setinterval/article.md

+15-15
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ setTimeout(function() {...}, 100);
232232

233233
Pentru `setInterval`, funcția rămâne în memorie până când este apelată `clearInterval`.
234234

235-
Există un efect secundar. O funcție face referire la mediul lexical extern, astfel încât, în timp ce ea trăiește, trăiesc și variabilele externe. Acestea pot ocupa mult mai multă memorie decât funcția însăși. Deci atunci când nu mai avem nevoie de funcția programată, este mai bine să o anulăm, chiar dacă este foarte mică.
235+
Există un efect secundar. O funcție face referire la mediul lexical extern, astfel încât, în timp ce ea trăiește, trăiesc și variabilele externe. Acestea pot ocupa mult mai multă memorie decât funcția însăși. Deci atunci când nu mai avem nevoie de funcția planificată, este mai bine să o anulăm, chiar dacă este foarte mică.
236236
````
237237

238238
## setTimeout cu Întârziere zero
@@ -258,7 +258,7 @@ Există de asemenea cazuri avansate de utilizare a timeout-ului cu întârziere
258258
````smart header="Întârzierea zero nu este de fapt zero (într-un browser)"
259259
În browser, este o limitare pentru cât de des pot rula temporizatoarele imbricate. [HTML Living Standard](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers) spune: "după cinci temporizatoare imbricate, intervalul este forțat să fie de cel puțin 4 milisecunde.".
260260

261-
Să demonstrăm ce înseamnă acest lucru cu exemplul de mai jos. Apelul `setTimeout` cuprins în el se reprogramează singur cu întârziere zero. Fiecare apel reține întârzierea reală din cel precedent în matricea `times`. Cum arată întârzierile reale? Să vedem:
261+
Să demonstrăm ce înseamnă acest lucru cu exemplul de mai jos. Apelul `setTimeout` cuprins în el se replanifică singur cu întârziere zero. Fiecare apel reține întârzierea reală din cel precedent în matricea `times`. Cum arată întârzierile reale? Să vedem:
262262

263263
```js run
264264
let start = Date.now();
@@ -281,22 +281,22 @@ Un lucru similar se întâmplă dacă folosim `setInterval` în loc de `setTimeo
281281

282282
Această limitare provine din timpuri străvechi și multe scripturi se bazează pe ea, așa că există din motive istorice.
283283

284-
Pentru JavaScript pe server, această limitare nu există și există alte modalități de a programa o sarcină asincronă imediată, cum ar fi [setImmediate](https://nodejs.org/api/timers.html#timers_setimmediate_callback_args) pentru Node.js. Deci această notă este specifică browserului.
284+
Pentru JavaScript pe server, această limitare nu există și există alte modalități de a planifica o sarcină asincronă imediată, cum ar fi [setImmediate](https://nodejs.org/api/timers.html#timers_setimmediate_callback_args) pentru Node.js. Deci această notă este specifică browserului.
285285
````
286286

287-
## Summary
287+
## Sumar
288288

289-
- Methods `setTimeout(func, delay, ...args)` and `setInterval(func, delay, ...args)` allow us to run the `func` once/regularly after `delay` milliseconds.
290-
- To cancel the execution, we should call `clearTimeout/clearInterval` with the value returned by `setTimeout/setInterval`.
291-
- Nested `setTimeout` calls are a more flexible alternative to `setInterval`, allowing us to set the time *between* executions more precisely.
292-
- Zero delay scheduling with `setTimeout(func, 0)` (the same as `setTimeout(func)`) is used to schedule the call "as soon as possible, but after the current script is complete".
293-
- The browser limits the minimal delay for five or more nested calls of `setTimeout` or for `setInterval` (after 5th call) to 4ms. That's for historical reasons.
289+
- Metodele `setTimeout(func, delay, ...args)` și `setInterval(func, delay, ...args)` ne permit să rulăm `func` o dată/regulat după `delay` milisecunde.
290+
- Pentru a anula execuția, ar trebui să apelăm `clearTimeout/clearInterval` cu valoarea returnată de `setTimeout/setInterval`.
291+
- Apelurile `setTimeout` imbricate reprezintă o alternativă mai flexibilă la `setInterval`, permițându-ne să setăm mai precis timpul *între* execuții.
292+
- Planificarea cu întârziere zero prin `setTimeout(func, 0)` (la fel ca `setTimeout(func)`) este utilizată pentru a programa apelul "cât mai curând posibil, dar după ce scriptul curent este finalizat".
293+
- Browserul limitează întârzierea minimă pentru cinci sau mai multe apeluri imbricate ale `setTimeout` sau pentru `setInterval` (după al cincilea apel) la 4ms. Asta din motive istorice.
294294

295-
Please note that all scheduling methods do not *guarantee* the exact delay.
295+
Vă rugăm să rețineți că toate metodele de planificare nu *garantează* întârzierea exactă.
296296

297-
For example, the in-browser timer may slow down for a lot of reasons:
298-
- The CPU is overloaded.
299-
- The browser tab is in the background mode.
300-
- The laptop is on battery saving mode.
297+
De exemplu, temporizatorul din browser poate încetini din multe motive:
298+
- Procesorul este suprasolicitat.
299+
- Tab-ul browserului este în fundal.
300+
- Laptopul este în modul de economisire a bateriei.
301301

302-
All that may increase the minimal timer resolution (the minimal delay) to 300ms or even 1000ms depending on the browser and OS-level performance settings.
302+
Toate acestea pot crește rezoluția minimă a temporizatorului (întârzierea minimă) la 300ms sau chiar 1000ms în funcție de setările de performanță la nivel de browser și de sistem de operare.

0 commit comments

Comments
 (0)