{"id":10060,"date":"2019-03-25T14:10:57","date_gmt":"2019-03-25T13:10:57","guid":{"rendered":"https:\/\/itkonekt.com\/?p=10060"},"modified":"2019-03-25T14:10:57","modified_gmt":"2019-03-25T13:10:57","slug":"ivan-jovanovic","status":"publish","type":"post","link":"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/","title":{"rendered":"Ivan Jovanovi\u0107"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"background-color: rgba(239,239,239,0.77);background-position: center center;background-repeat: no-repeat;padding-top:0px;padding-right:30px;padding-bottom:0px;padding-left:30px;margin-bottom: 0px;margin-top: 150px;border-width: 0px 0px 0px 0px;border-color:#eae9e9;border-style:solid;\" ><div class=\"fusion-builder-row fusion-row\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last\" style=\"margin-top:0px;margin-bottom:0px;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\" style=\"background-position:left top;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;padding: 0px 0px 0px 0px;\"><style type=\"text\/css\"><\/style><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-four\" style=\"margin-top:20px;margin-bottom:31px;\"><h4 class=\"title-heading-center\" style=\"margin:0;\"><span style=\"color: #ff164c;\"><strong>Ivan Jovanovi\u0107<\/strong><\/span><\/h4><\/div><div class=\"fusion-clearfix\"><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"background-color: rgba(255,255,255,0);background-position: center center;background-repeat: no-repeat;padding-top:0px;padding-right:30px;padding-bottom:0px;padding-left:30px;margin-bottom: 0px;margin-top: 50px;border-width: 0px 0px 0px 0px;border-color:#eae9e9;border-style:solid;\" ><div class=\"fusion-builder-row fusion-row\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_2_3 2_3 fusion-two-third fusion-column-first\" style=\"width:66.666666666667%;width:calc(66.666666666667% - ( ( 4% ) * 0.66666666666667 ) );margin-right: 4%;margin-top:0px;margin-bottom:0px;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\" style=\"background-position:left top;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;padding: 0px 0px 0px 0px;\"><div class=\"fusion-text fusion-text-1\" style=\"transform:translate3d(0,0,0);\"><div dir=\"ltr\"><strong>Founder and Principal Consultant @IJ Consulting<\/strong><\/div>\n<div dir=\"ltr\"><\/div>\n<div dir=\"ltr\">Ivan is the senior software engineer, team lead, speaker, and mentor. His focus is on building scalable JavaScript applications and experimenting with new languages and frameworks. He is into functional and reactive programming. Leading teams and mentoring developers is his everyday duty. He loves to share knowledge on his tech blog and he&#8217;s a regular speaker on many international conferences.<\/div>\n<\/div><span class=\" fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><\/span><div class=\"fusion-text fusion-text-2\" style=\"transform:translate3d(0,0,0);\"><p><strong>TOPIC:\u00a0You don't know Promises<\/strong><\/p>\n<p>As you know, JavaScript has a single-threaded, event-loop based concurrency model. It is processing events using asynchronous non-blocking I\/O model. Working with asynchronous code can be hard and that's why we developed mechanisms to help us. We got Promises! Everyone is using them but do we really know how they work? What really happens when we call \"new Promise()\". In this talk, we're going to dive deeper and understand how secret mechanisms of JavaScript async model work and how to make the best of it. We'll see some bad practices, how to avoid them and how to debug them in case we get in the bigger problem. What will happen if you don't handle errors properly, or you put sync code in the Promise? Let's find out!<\/p>\n<\/div><div class=\"fusion-clearfix\"><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_3 1_3 fusion-one-third fusion-column-last\" style=\"width:33.333333333333%;width:calc(33.333333333333% - ( ( 4% ) * 0.33333333333333 ) );margin-top:0px;margin-bottom:0px;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\" style=\"background-position:left top;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;padding: 0px 0px 0px 0px;\"><span class=\" fusion-imageframe imageframe-none imageframe-2 hover-type-none\" style=\"margin-left:25px;float:right;\"><img width=\"400\" height=\"400\" title=\"Ivan Jovanovic\" src=\"https:\/\/itkonekt.com\/media\/2019\/03\/Ivan_Jovanovic_400x400.png\" class=\"img-responsive wp-image-10056\" srcset=\"https:\/\/itkonekt.com\/media\/2019\/03\/Ivan_Jovanovic_400x400-200x200.png 200w, https:\/\/itkonekt.com\/media\/2019\/03\/Ivan_Jovanovic_400x400.png 400w\" sizes=\"(max-width: 800px) 100vw, 400px\" \/><\/span><div class=\"fusion-clearfix\"><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":6,"featured_media":10058,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[14],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.0.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ivan Jovanovi\u0107 - IT-KONEKT<\/title>\n<link rel=\"canonical\" href=\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ivan Jovanovi\u0107 - IT-KONEKT\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/\" \/>\n<meta property=\"og:site_name\" content=\"IT-KONEKT\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-25T13:10:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itkonekt.com\/media\/2019\/03\/Ivan_Jovanovic_243x369.png\" \/>\n\t<meta property=\"og:image:width\" content=\"243\" \/>\n\t<meta property=\"og:image:height\" content=\"369\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data1\" content=\"4 minutes\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/itkonekt.com\/#website\",\"url\":\"https:\/\/itkonekt.com\/\",\"name\":\"IT-KONEKT\",\"description\":\"IT-KONEKT\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/itkonekt.com\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/itkonekt.com\/media\/2019\/03\/Ivan_Jovanovic_243x369.png\",\"width\":243,\"height\":369},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/#webpage\",\"url\":\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/\",\"name\":\"Ivan Jovanovi\\u0107 - IT-KONEKT\",\"isPartOf\":{\"@id\":\"https:\/\/itkonekt.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/#primaryimage\"},\"datePublished\":\"2019-03-25T13:10:57+00:00\",\"dateModified\":\"2019-03-25T13:10:57+00:00\",\"author\":{\"@id\":\"https:\/\/itkonekt.com\/#\/schema\/person\/9ce7c5c943e2fbcee2f388c7cd87c92f\"},\"breadcrumb\":{\"@id\":\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/itkonekt.com\/en\/\",\"url\":\"https:\/\/itkonekt.com\/en\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/\",\"url\":\"https:\/\/itkonekt.com\/en\/2019\/03\/25\/ivan-jovanovic\/\",\"name\":\"Ivan Jovanovi\\u0107\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/itkonekt.com\/#\/schema\/person\/9ce7c5c943e2fbcee2f388c7cd87c92f\",\"name\":\"Sonja Nastasi\\u0107\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/itkonekt.com\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2c70e44216b8216be91822b51b8b2f1c?s=96&d=mm&r=g\",\"caption\":\"Sonja Nastasi\\u0107\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/posts\/10060"}],"collection":[{"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/comments?post=10060"}],"version-history":[{"count":1,"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/posts\/10060\/revisions"}],"predecessor-version":[{"id":10061,"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/posts\/10060\/revisions\/10061"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/media\/10058"}],"wp:attachment":[{"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/media?parent=10060"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/categories?post=10060"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itkonekt.com\/en\/wp-json\/wp\/v2\/tags?post=10060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}