Promise (osnove)

Uvod


pyramid of doom

U JavaScript-u postoji izraz za deo koda sa ugnježdenim callback funkcijama pod nazivom “callback hell” ili “pyramid of doom”. Debagovanje takvog programskog koda pa čak i samo razumevanje je veoma otežano. Sa ES2015 standardom je došla nova syntax-a pod nazivom “promise” (srp. obećanje), koja sa svojim API-jem obezbedjuje bolji i pregledniji način za organizovanje callback funkcija. Ovo se naručito primećuje u radu sa asinhronim operacijama jer sa promisima sintaksa veoma liči na standardnu sinhronu sintaksu.

Primer – “callback hell”

Najpoznatija i najčešća primena callback funkcija je “hendlovanje” akcija nakon izvršenog dogadjaja. Upravo je “hendlovanje” medjusobno zavisnih dogadjaja najčešće uzrok “callback hell-a”. U ovom primeru je prikazan izgled takvog koda:


Continue reading…


Pregled novih JS standarda: ES2015, ES2016…

Spisak novosti

eckma-script-standard

U ovome tekstu su izlistane sve novine koje su došle u sklopu novih JavaScript standarda, a obradjene su na sajltu webprogramiranje.org kroz različite članke:

Standard Novina Članak
ES2015 Novi način deklarisanja promenjivih sa ključnim rečima let & const “let & const”
ES2015 Jednostavno definisanje podrazumevanih vrednosti parametara funukcije “Podrazumevane vrednosti parametara funkcije”
ES2015 Sintaksna poboljšanja objektnog literala “Object literal” poboljšanja
ES2015 Klase “Klase u JavaScript-u”
ES2015 Nova petlja za iteraciju kroz iterable objekte: for…of “Petlje i iteracije u JavaScript-u”
ES2015 Nove metode za rad sa nizovima: Array.from() Array.prototype.find() i Array.prototype.findIndex() “Nove metode u radu sa nizovima”
ES2015 Nova sintaksa za import/export modula “Modularno programiranje sa ES6 standardom
ES2015 Promisi “Promise i asinhrono programiranje”
ES2015 Nova metoda konstruktorske funkcije: Object.assign() Svojstva i metode konstruktorske f-je Object()
ES2015 Nove karakteristike “string-a” “Nove karakteristike string-a”
ES2015 Arrow funkcija “Arrow funkcija”
ES2015 Novi tipovi podataka Map, Set & Symbol Novi tipovi podataka Map, Set & Symbol
ES2015 Spread & Rest operatori “Spread & Rest operatori”
ES2015 Destruktuiranje podataka “Destrukuiranje u JavaScript-u”
ES2015 Iteratori & Generatori Iteratori i Generatori
ES2016 Nova metoda za rad sa nizovima: Array.prototype.inludes() “Nove metode u radu sa nizovima”
ES2016 Eksponencijalni operator ** Eksponencijalni operator **
ES2017 Nove metode konstruktorske funkcije: Object.entries, Object.values i Object.getOwnPropertyDescriptors() Svojstva i metode konstruktorske f-je Object()
ES2017 Async/Await sintaksi “Async/Await” sintaksa za bolje “Promise”