{"id":16870,"date":"2023-06-26T10:29:19","date_gmt":"2023-06-26T10:29:19","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=16870"},"modified":"2023-06-26T10:29:19","modified_gmt":"2023-06-26T10:29:19","slug":"async-and-await-function-in-javascript","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/","title":{"rendered":"Async and Await Function In Javascript"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg\" alt=\"\" \/><\/p>\n<p>In modern JavaScript, asynchronous programming plays a crucial role in handling time-consuming tasks without blocking the execution of other code. Traditionally, callbacks and promises have been used to manage asynchronous operations. However, with the introduction of the async await keywords, JavaScript developers now have a more intuitive and cleaner way to write asynchronous code. In this article, we will explore async await functions, their syntax, and how they simplify asynchronous programming.<\/p>\n<h2>Understanding Asynchronous Operations<\/h2>\n<p>Before we dive into async await, it&#8217;s important to understand the concept of asynchronous operations in JavaScript. Asynchronous operations are tasks that don&#8217;t block the execution of other code. Common examples include fetching data from a server, reading and writing to databases, and making API calls.<\/p>\n<p>Traditionally, callbacks and promises have been used to handle asynchronous operations. While effective, they can lead to complex and nested code structures, commonly known as &quot;callback hell&quot; or &quot;promise chaining.&quot;<\/p>\n<h2>Introducing async await Javascript<\/h2>\n<p>The async await keywords were introduced in ECMAScript 2017 (ES8) to simplify asynchronous code and make it more readable and maintainable. The async keyword is used to declare an asynchronous function, and the await keyword is used to pause the execution of the function until a promise is resolved.<\/p>\n<h2>Syntax of async and await in Javascript<\/h2>\n<p>To use async await, we need to define an async function. An async function always returns a promise, which can be resolved or rejected based on the logic inside the function.<\/p>\n<p>The syntax for declaring an async function is as follows:<\/p>\n<pre><code>async function functionName() {\n  \/\/ Asynchronous code\n  await someAsyncOperation();\n  \/\/ Continue execution after promise is resolved\n}<\/code><\/pre>\n<p>The await keyword is used to pause the execution of the async function until the promise returned by someAsyncOperation() is resolved. This allows for sequential and synchronous-looking code.<\/p>\n<h2>Example Usage of async await in Javascript<\/h2>\n<p>Let&#8217;s look at an example that demonstrates the use of async await in JavaScript. Consider a simple function that fetches data from an API:<\/p>\n<p>Certainly! Here are the code snippets for the examples mentioned earlier:<\/p>\n<p><strong>Example 1: Async function with setTimeout<\/strong><\/p>\n<pre><code>function delay(ms) {\n  return new Promise((resolve) => setTimeout(resolve, ms));\n}\nasync function example1() {\n  console.log('Start');\n  await delay(2000);\n  console.log('After 2 seconds');\n  await delay(1000);\n  console.log('After 1 second');\n  return 'Done';\n}\n\nexample1().then((result) => console.log(result));<\/code><\/pre>\n<p><strong>Example 2: Async function with fetch<\/strong><\/p>\n<pre><code>async function example2() {\n  try {\n    const response = await fetch('https:\/\/api.example.com\/data');\n    if (!response.ok) {\n      throw new Error('Error fetching data');\n    }\n    const data = await response.json();\n    console.log('Fetched data:', data);\n  } catch (error) {\n    console.error('Error:', error.message);\n  }\n}\n\nexample2();<\/code><\/pre>\n<p><strong>Example 3: Async function with Promise.all<\/strong><\/p>\n<pre><code>function fetchUser(id) {\n  return new Promise((resolve) => {\n    setTimeout(() => {\n      resolve({ id, name: 'John Doe' });\n    }, 1000);\n  });\n}\n\nfunction fetchOrders(userId) {\n  return new Promise((resolve) => {\n    setTimeout(() => {\n      resolve(['Order 1', 'Order 2']);\n    }, 1500);\n  });\n}\n\nasync function example3() {\n  const userPromise = fetchUser(1);\n  const ordersPromise = fetchOrders(1);\n\n  const [user, orders] = await Promise.all([userPromise, ordersPromise]);\n  console.log('User:', user);\n  console.log('Orders:', orders);\n}\n\nexample3();<\/code><\/pre>\n<h2>Benefits of async and await in Javascript<\/h2>\n<p>The async and await keywords provide several benefits for asynchronous programming in JavaScript:<\/p>\n<ul>\n<li>\n<p><strong>Readability:<\/strong> async await makes asynchronous code appear more like synchronous code, enhancing its readability and making it easier to understand.<\/p>\n<\/li>\n<li>\n<p><strong>Error Handling:<\/strong> Error handling becomes simpler with async await, as we can use try-catch blocks to catch and handle exceptions in a more structured manner.<\/p>\n<\/li>\n<li>\n<p><strong>Sequential Execution:<\/strong> async await allows for sequential execution of asynchronous operations, resulting in code that is easier to reason about and maintain.<\/p>\n<\/li>\n<li>\n<p><strong>Compatibility with Promises:<\/strong> async await are built on top of promises, so they can be used seamlessly alongside existing promise-based code.<\/p>\n<\/li>\n<\/ul>\n<p><strong>Conclusion<\/strong><br \/>\nAsync await has revolutionized asynchronous programming in JavaScript by simplifying the code structure and making it more readable. They provide an intuitive way to handle asynchronous operations, reducing callback nesting and making error handling more straightforward. By adopting async await, developers can write cleaner and more maintainable code while leveraging the power of asynchronous programming in JavaScript.<\/p>\n<h2>Frequently Asked Questions (FAQs)<\/h2>\n<p><strong>Q1. What is the difference between async functions and regular functions in JavaScript?<\/strong><br \/>\nAsync functions are a type of function in JavaScript that allows you to write asynchronous code in a more sequential and readable manner. They are declared using the <code>async<\/code> keyword and always return a promise. Regular functions, on the other hand, execute synchronously and do not handle asynchronous operations without additional mechanisms like callbacks or promises.<\/p>\n<p><strong>Q2. Can async functions be used without the await keyword? <\/strong><br \/>\nYes, async functions can be used without the <code>await<\/code> keyword. However, using <code>await<\/code> allows you to pause the execution of an async function until a promise is resolved or rejected. If you don&#8217;t use <code>await<\/code>, the function will continue executing without waiting for the resolution of promises, potentially leading to unexpected behavior.<\/p>\n<p><strong>Q3. Can async functions throw errors? How are they handled?<\/strong><br \/>\nYes, async functions can throw errors. Inside an async function, you can use <code>throw<\/code> to explicitly throw an error or let the rejection of a promise inside the function throw an error. To handle errors in async functions, you can use a combination of <code>try<\/code> and <code>catch<\/code> blocks. Errors thrown within an async function can be caught and handled using the <code>catch<\/code> block.<\/p>\n<p><strong>Q4. Are async functions compatible with Promise-based code?<\/strong><br \/>\nYes, async functions are fully compatible with promise-based code. In fact, async functions are built on top of promises. You can use <code>await<\/code> within an async function to wait for the resolution of a promise, and you can also return promises from async functions. This allows you to seamlessly integrate async\/await syntax with existing promise-based code.<\/p>\n<p><strong>Q5. Are async functions supported in all JavaScript environments?<\/strong><br \/>\nAsync functions are supported in most modern JavaScript environments, including Node.js and modern web browsers. However, older versions of JavaScript engines may not support async functions. It&#8217;s important to check the compatibility of async functions with your target environment or use transpilers like Babel to convert async\/await syntax to older JavaScript versions if needed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In modern JavaScript, asynchronous programming plays a crucial role in handling time-consuming tasks without blocking the execution of other code. Traditionally, callbacks and promises have been used to manage asynchronous operations. However, with the introduction of the async await keywords, JavaScript developers now have a more intuitive and cleaner way to write asynchronous code. In [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[162],"tags":[],"class_list":["post-16870","post","type-post","status-publish","format-standard","hentry","category-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Async and Await Function In Javascript<\/title>\n<meta name=\"description\" content=\"Async and Await Function In Javascript provides an intuitive way to handle asynchronous operations, reducing callback nesting.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Async and Await Function In Javascript\" \/>\n<meta property=\"og:description\" content=\"Async and Await Function In Javascript provides an intuitive way to handle asynchronous operations, reducing callback nesting.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-26T10:29:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Async and Await Function In Javascript\",\"datePublished\":\"2023-06-26T10:29:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/\"},\"wordCount\":846,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg\",\"articleSection\":[\"Javascript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/\",\"name\":\"Async and Await Function In Javascript\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg\",\"datePublished\":\"2023-06-26T10:29:19+00:00\",\"description\":\"Async and Await Function In Javascript provides an intuitive way to handle asynchronous operations, reducing callback nesting.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Javascript\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Async and Await Function In Javascript\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Async and Await Function In Javascript","description":"Async and Await Function In Javascript provides an intuitive way to handle asynchronous operations, reducing callback nesting.","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:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/","og_locale":"en_US","og_type":"article","og_title":"Async and Await Function In Javascript","og_description":"Async and Await Function In Javascript provides an intuitive way to handle asynchronous operations, reducing callback nesting.","og_url":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2023-06-26T10:29:19+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Async and Await Function In Javascript","datePublished":"2023-06-26T10:29:19+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/"},"wordCount":846,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg","articleSection":["Javascript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/","url":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/","name":"Async and Await Function In Javascript","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg","datePublished":"2023-06-26T10:29:19+00:00","description":"Async and Await Function In Javascript provides an intuitive way to handle asynchronous operations, reducing callback nesting.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1687775150467-Async%20await%20function%20in%20Javascript.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/async-and-await-function-in-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Javascript","item":"https:\/\/prepbytes.com\/blog\/category\/javascript\/"},{"@type":"ListItem","position":3,"name":"Async and Await Function In Javascript"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/16870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=16870"}],"version-history":[{"count":1,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/16870\/revisions"}],"predecessor-version":[{"id":16871,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/16870\/revisions\/16871"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=16870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=16870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=16870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}