{"id":118931,"date":"2023-03-15T19:00:00","date_gmt":"2023-03-15T22:00:00","guid":{"rendered":"https:\/\/fluency.io\/br\/blog\/?p=16256"},"modified":"2023-08-01T17:31:24","modified_gmt":"2023-08-01T20:31:24","slug":"async-await","status":"publish","type":"post","link":"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/","title":{"rendered":"Async await: simplificando o c\u00f3digo ass\u00edncrono em JavaScript"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Como o async await pode tornar o c\u00f3digo ass\u00edncrono em JavaScript mais f\u00e1cil de ler e escrever<\/h3>\n\n\n\n<p>JavaScript \u00e9 uma linguagem ass\u00edncrona, o que significa que as opera\u00e7\u00f5es ass\u00edncronas s\u00e3o executadas em segundo plano enquanto outras opera\u00e7\u00f5es s\u00edncronas s\u00e3o executadas. As opera\u00e7\u00f5es ass\u00edncronas incluem o acesso a um banco de dados, chamadas de API, leitura e grava\u00e7\u00e3o de arquivos e outras tarefas que n\u00e3o podem ser conclu\u00eddas imediatamente. No entanto, o c\u00f3digo ass\u00edncrono pode se tornar complicado e dif\u00edcil de ler, especialmente quando v\u00e1rias opera\u00e7\u00f5es ass\u00edncronas s\u00e3o executadas em sequ\u00eancia. Felizmente, a introdu\u00e7\u00e3o de async await em ES2017 tornou mais f\u00e1cil trabalhar com opera\u00e7\u00f5es ass\u00edncronas em JavaScript. O async await permite que voc\u00ea escreva c\u00f3digo ass\u00edncrono que se parece com c\u00f3digo s\u00edncrono, tornando mais f\u00e1cil para os desenvolvedores escreverem e manterem o c\u00f3digo.<\/p>\n\n\n\n<p>Neste artigo, vamos explorar como o async await pode simplificar o c\u00f3digo ass\u00edncrono em JavaScript. Vamos ver como ele pode tornar a escrita de c\u00f3digo ass\u00edncrono mais f\u00e1cil, como funciona com as Promises, como lidar com erros e como us\u00e1-lo em conjunto com outras funcionalidades do JavaScript para tornar o seu c\u00f3digo mais eficiente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Escrevendo c\u00f3digo mais limpo com async await em JavaScript<\/h3>\n\n\n\n<p>Escrever c\u00f3digo ass\u00edncrono em JavaScript pode ser desafiador, especialmente quando voc\u00ea precisa lidar com v\u00e1rias opera\u00e7\u00f5es ass\u00edncronas em sequ\u00eancia. Felizmente, este \u00e9 uma ferramenta poderosa que pode tornar a escrita de c\u00f3digo ass\u00edncrono mais limpa e f\u00e1cil de entender.<\/p>\n\n\n\n<p>Uma das principais vantagens do async await \u00e9 que ele permite que voc\u00ea escreva c\u00f3digo ass\u00edncrono que se parece com c\u00f3digo s\u00edncrono. Isso significa que voc\u00ea pode usar a palavra-chave &#8220;await&#8221; para aguardar a conclus\u00e3o de uma opera\u00e7\u00e3o ass\u00edncrona antes de continuar com o c\u00f3digo. Isso torna o c\u00f3digo mais f\u00e1cil de entender, pois voc\u00ea pode escrever o c\u00f3digo em uma ordem l\u00f3gica e n\u00e3o precisa se preocupar com a execu\u00e7\u00e3o em segundo plano das opera\u00e7\u00f5es ass\u00edncronas.<\/p>\n\n\n\n<p>Outra maneira pela qual o async await ajuda a escrever c\u00f3digo mais limpo \u00e9 que ele pode ajudar a reduzir o aninhamento de callbacks. Quando voc\u00ea trabalha com c\u00f3digo ass\u00edncrono, \u00e9 comum usar callbacks para lidar com o resultado de uma opera\u00e7\u00e3o ass\u00edncrona. No entanto, isso pode levar a um aninhamento excessivo de callbacks, o que pode tornar o c\u00f3digo dif\u00edcil de ler e entender. Com o async await, voc\u00ea pode escrever c\u00f3digo que parece linear e n\u00e3o precisa se preocupar com o aninhamento excessivo de callbacks.<\/p>\n\n\n\n<p>O async await tamb\u00e9m pode ajudar a reduzir a quantidade de c\u00f3digo repetitivo em seu projeto. Quando voc\u00ea trabalha com opera\u00e7\u00f5es ass\u00edncronas em JavaScript, \u00e9 comum precisar lidar com erros que podem ocorrer durante a execu\u00e7\u00e3o do c\u00f3digo. O async await torna mais f\u00e1cil lidar com erros, permitindo que voc\u00ea use um bloco try-catch em torno de sua opera\u00e7\u00e3o ass\u00edncrona. Isso significa que voc\u00ea n\u00e3o precisa escrever o mesmo c\u00f3digo de tratamento de erros repetidamente em seu projeto.<\/p>\n\n\n\n<p>O async await \u00e9 uma ferramenta poderosa que pode ajudar a tornar a escrita de c\u00f3digo ass\u00edncrono em JavaScript mais limpa e f\u00e1cil de entender. Ele permite que voc\u00ea escreva c\u00f3digo que parece linear e n\u00e3o precisa se preocupar com o aninhamento excessivo de callbacks. Al\u00e9m disso, o async await ajuda a reduzir a quantidade de c\u00f3digo repetitivo em seu projeto e torna mais f\u00e1cil lidar com erros que podem ocorrer durante a execu\u00e7\u00e3o do c\u00f3digo. Se voc\u00ea trabalha com opera\u00e7\u00f5es ass\u00edncronas em JavaScript, o async await \u00e9 uma ferramenta que vale a pena aprender e usar em seus projetos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lidando com erros em c\u00f3digo ass\u00edncrono<\/h3>\n\n\n\n<p>Ao escrever c\u00f3digo ass\u00edncrono em JavaScript, \u00e9 importante lidar adequadamente com erros que podem ocorrer durante a execu\u00e7\u00e3o do c\u00f3digo. Felizmente, o async await \u00e9 uma ferramenta que pode ajudar a tornar o tratamento de erros em c\u00f3digo ass\u00edncrono mais f\u00e1cil e eficiente.<\/p>\n\n\n\n<p>Uma das principais vantagens do async await \u00e9 que ele permite que voc\u00ea use blocos try-catch para capturar erros que podem ocorrer durante a execu\u00e7\u00e3o de uma opera\u00e7\u00e3o ass\u00edncrona. Isso significa que voc\u00ea pode lidar com erros de maneira mais eficiente e clara em seu c\u00f3digo. Quando um erro \u00e9 capturado em um bloco try-catch, voc\u00ea pode tomar medidas apropriadas para lidar com o erro, como registrar o erro, informar o usu\u00e1rio ou tentar corrigir o problema.<\/p>\n\n\n\n<p>Outra maneira pela qual o async await ajuda a lidar com erros em c\u00f3digo ass\u00edncrono \u00e9 que ele permite que voc\u00ea use o operador await com uma Promise rejeitada. Quando voc\u00ea usa o operador await com uma Promise rejeitada, o c\u00f3digo dentro do bloco try-catch \u00e9 executado automaticamente, permitindo que voc\u00ea lide com o erro de maneira adequada.<\/p>\n\n\n\n<p>Al\u00e9m disso, o async await torna mais f\u00e1cil lidar com erros em cadeias de Promises. Quando voc\u00ea trabalha com cadeias de Promises, \u00e9 comum que erros ocorram em diferentes etapas da cadeia. O async await permite que voc\u00ea use o bloco try-catch em torno de toda a cadeia de Promises, o que significa que voc\u00ea pode lidar com erros que ocorrem em qualquer etapa da cadeia de forma eficiente e centralizada.<\/p>\n\n\n\n<p>O async await \u00e9 uma ferramenta poderosa que pode ajudar a lidar com erros em c\u00f3digo ass\u00edncrono de forma eficiente e clara em JavaScript. Ele permite que voc\u00ea use blocos try-catch para capturar erros que podem ocorrer durante a execu\u00e7\u00e3o de uma opera\u00e7\u00e3o ass\u00edncrona e lide com eles de maneira adequada. O async await tamb\u00e9m torna mais f\u00e1cil lidar com erros em cadeias de Promises, permitindo que voc\u00ea use o bloco try-catch em torno de toda a cadeia de Promises. Se voc\u00ea trabalha com opera\u00e7\u00f5es ass\u00edncronas em JavaScript, o async await \u00e9 uma ferramenta que vale a pena aprender e usar em seus projetos para lidar com erros de forma eficiente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">As vantagens do uso de async await em compara\u00e7\u00e3o com callbacks em JavaScript<\/h3>\n\n\n\n<p>Ao lidar com c\u00f3digo ass\u00edncrono em JavaScript, \u00e9 comum utilizar callbacks para lidar com opera\u00e7\u00f5es ass\u00edncronas. No entanto, o uso de <a href=\"https:\/\/en.wikipedia.org\/wiki\/Callback_(computer_programming)\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Callback_(computer_programming)\" target=\"_blank\" rel=\"noreferrer noopener\">callbacks <\/a>pode levar a c\u00f3digo dif\u00edcil de ler e manter. Felizmente, o async await \u00e9 uma alternativa que pode trazer v\u00e1rias vantagens em compara\u00e7\u00e3o com callbacks.<\/p>\n\n\n\n<p>Uma das principais vantagens do async await em rela\u00e7\u00e3o aos callbacks \u00e9 a sua facilidade de leitura. Ao inv\u00e9s de aninhar callbacks uns dentro dos outros, como \u00e9 comum em c\u00f3digo com callbacks, o async await permite que voc\u00ea escreva c\u00f3digo em uma sequ\u00eancia linear e f\u00e1cil de entender. Isso torna o c\u00f3digo mais f\u00e1cil de ler e manter, al\u00e9m de tornar o processo de depura\u00e7\u00e3o mais eficiente.<\/p>\n\n\n\n<p>Outra vantagem do async await \u00e9 a sua capacidade de lidar com exce\u00e7\u00f5es de forma eficaz. Quando um erro ocorre durante uma opera\u00e7\u00e3o ass\u00edncrona, a exce\u00e7\u00e3o \u00e9 capturada automaticamente por um bloco try-catch. Isso torna a depura\u00e7\u00e3o de erros muito mais f\u00e1cil e reduz a probabilidade de erros passarem despercebidos.<\/p>\n\n\n\n<p>O async await tamb\u00e9m oferece suporte a outras funcionalidades \u00fateis, como o uso de Promises. Com Promises, voc\u00ea pode facilmente executar v\u00e1rias opera\u00e7\u00f5es ass\u00edncronas em paralelo e lidar com o resultado de todas elas quando estiverem prontas. Isso \u00e9 muito mais f\u00e1cil de fazer com o async await do que com callbacks.<\/p>\n\n\n\n<p>Al\u00e9m disso, o async await \u00e9 compat\u00edvel com muitas das bibliotecas e ferramentas mais populares do ecossistema JavaScript, o que significa que voc\u00ea pode us\u00e1-lo com facilidade em muitos projetos diferentes.<\/p>\n\n\n\n<p>O async await traz v\u00e1rias vantagens em compara\u00e7\u00e3o com callbacks quando se trata de lidar com c\u00f3digo ass\u00edncrono em JavaScript. Ele oferece uma maneira mais f\u00e1cil de ler e escrever c\u00f3digo, lida com exce\u00e7\u00f5es de forma mais eficaz, oferece suporte a Promises e \u00e9 compat\u00edvel com muitas das bibliotecas e ferramentas mais populares do ecossistema JavaScript. Se voc\u00ea est\u00e1 lidando com opera\u00e7\u00f5es ass\u00edncronas em seus projetos, o async await \u00e9 uma ferramenta que voc\u00ea definitivamente deve considerar usar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Invista na sua carreira em Programa\u00e7\u00e3o com a Awari<\/h3>\n\n\n\n<p>Se voc\u00ea deseja aprofundar seu conhecimento em programa\u00e7\u00e3o e aprender mais sobre o desenvolvimento web e de software, n\u00e3o deixe de conferir os cursos da Awari. A plataforma oferece aulas ao vivo e<a href=\"https:\/\/fluency.io\/br\/blog\/curso-mentoria\/?utm_source=blog\" target=\"_blank\" rel=\"noreferrer noopener\"> mentorias individuais<\/a>, al\u00e9m de materiais de estudo e projetos pr\u00e1ticos para que voc\u00ea possa colocar em pr\u00e1tica o que aprendeu. Os cursos abrangem temas como HTML, CSS, JavaScript, Node.js, entre outros, e s\u00e3o ministrados por profissionais experientes na ind\u00fastria de tecnologia.<\/p>\n\n\n\n<p>Com a Awari, voc\u00ea pode adquirir as habilidades necess\u00e1rias para se tornar um desenvolvedor web ou de software completo e competente, com um curr\u00edculo atualizado e adaptado \u00e0s necessidades do mercado. N\u00e3o perca mais tempo e comece a investir em sua carreira de programa\u00e7\u00e3o hoje mesmo!<a href=\"https:\/\/fluency.io\/br\/blog\/?utm_source=blog&amp;utm_medium=link&amp;utm_campaign=home-awari\" target=\"_blank\" rel=\"noreferrer noopener\"> Clique aqui!<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como o async await pode tornar o c\u00f3digo ass\u00edncrono em JavaScript mais f\u00e1cil de ler e escrever JavaScript \u00e9 uma linguagem ass\u00edncrona, o que significa que as opera\u00e7\u00f5es ass\u00edncronas s\u00e3o executadas em segundo plano enquanto outras opera\u00e7\u00f5es s\u00edncronas s\u00e3o executadas. As opera\u00e7\u00f5es ass\u00edncronas incluem o acesso a um banco de dados, chamadas de API, leitura [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":[186],"meta":{"inline_featured_image":false,"footnotes":""},"categories":[229],"tags":[],"trilha":[],"class_list":["post-118931","post","type-post","status-publish","format-standard","hentry","category-skills","format-artigos"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Async await: simplificando o c\u00f3digo ass\u00edncrono em JavaScript - Fluency.io Brasil<\/title>\n<meta name=\"description\" content=\"Como o async await pode tornar o c\u00f3digo ass\u00edncrono em JavaScript mais f\u00e1cil de ler e escrever JavaScript \u00e9 uma linguagem ass\u00edncrona, o que significa que as...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Async await: simplificando o c\u00f3digo ass\u00edncrono em JavaScript - Fluency.io Brasil\" \/>\n<meta property=\"og:description\" content=\"Como o async await pode tornar o c\u00f3digo ass\u00edncrono em JavaScript mais f\u00e1cil de ler e escrever JavaScript \u00e9 uma linguagem ass\u00edncrona, o que significa que as...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/\" \/>\n<meta property=\"og:site_name\" content=\"Fluency.io Brasil\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-15T22:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-01T20:31:24+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"kaue\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/\",\"url\":\"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/\",\"name\":\"Async await: simplificando o c\u00f3digo ass\u00edncrono em JavaScript - Fluency.io Brasil\",\"isPartOf\":{\"@id\":\"https:\/\/fluency.io\/br\/#website\"},\"datePublished\":\"2023-03-15T22:00:00+00:00\",\"dateModified\":\"2023-08-01T20:31:24+00:00\",\"author\":{\"@id\":\"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a\"},\"description\":\"Como o async await pode tornar o c\u00f3digo ass\u00edncrono em JavaScript mais f\u00e1cil de ler e escrever JavaScript \u00e9 uma linguagem ass\u00edncrona, o que significa que as...\",\"breadcrumb\":{\"@id\":\"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/homolog.fluency.io\/br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Async await: simplificando o c\u00f3digo ass\u00edncrono em JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fluency.io\/br\/#website\",\"url\":\"https:\/\/fluency.io\/br\/\",\"name\":\"Fluency.io Brasil\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fluency.io\/br\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a\",\"name\":\"kaue\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/fluency.io\/br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g\",\"caption\":\"kaue\"},\"url\":\"https:\/\/homolog.fluency.io\/br\/author\/kaue\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Async await: simplificando o c\u00f3digo ass\u00edncrono em JavaScript - Fluency.io Brasil","description":"Como o async await pode tornar o c\u00f3digo ass\u00edncrono em JavaScript mais f\u00e1cil de ler e escrever JavaScript \u00e9 uma linguagem ass\u00edncrona, o que significa que as...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/","og_locale":"pt_BR","og_type":"article","og_title":"Async await: simplificando o c\u00f3digo ass\u00edncrono em JavaScript - Fluency.io Brasil","og_description":"Como o async await pode tornar o c\u00f3digo ass\u00edncrono em JavaScript mais f\u00e1cil de ler e escrever JavaScript \u00e9 uma linguagem ass\u00edncrona, o que significa que as...","og_url":"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/","og_site_name":"Fluency.io Brasil","article_published_time":"2023-03-15T22:00:00+00:00","article_modified_time":"2023-08-01T20:31:24+00:00","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"kaue","Est. tempo de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/","url":"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/","name":"Async await: simplificando o c\u00f3digo ass\u00edncrono em JavaScript - Fluency.io Brasil","isPartOf":{"@id":"https:\/\/fluency.io\/br\/#website"},"datePublished":"2023-03-15T22:00:00+00:00","dateModified":"2023-08-01T20:31:24+00:00","author":{"@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a"},"description":"Como o async await pode tornar o c\u00f3digo ass\u00edncrono em JavaScript mais f\u00e1cil de ler e escrever JavaScript \u00e9 uma linguagem ass\u00edncrona, o que significa que as...","breadcrumb":{"@id":"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/homolog.fluency.io\/br\/blog\/async-await\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/homolog.fluency.io\/br\/blog\/async-await\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/homolog.fluency.io\/br\/"},{"@type":"ListItem","position":2,"name":"Async await: simplificando o c\u00f3digo ass\u00edncrono em JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/fluency.io\/br\/#website","url":"https:\/\/fluency.io\/br\/","name":"Fluency.io Brasil","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fluency.io\/br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/7b3b2b50ba17b7f2ad0cce0a40bfa00a","name":"kaue","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/fluency.io\/br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bdd3958fa53019cfd8f789c0a49a730e7ba40a1d20cb42c9ced7646285842479?s=96&d=mm&r=g","caption":"kaue"},"url":"https:\/\/homolog.fluency.io\/br\/author\/kaue\/"}]}},"_links":{"self":[{"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/posts\/118931","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/comments?post=118931"}],"version-history":[{"count":0,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/posts\/118931\/revisions"}],"wp:attachment":[{"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/media?parent=118931"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/categories?post=118931"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/tags?post=118931"},{"taxonomy":"format","embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/format?post=118931"},{"taxonomy":"trilha","embeddable":true,"href":"https:\/\/homolog.fluency.io\/br\/wp-json\/wp\/v2\/trilha?post=118931"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}