<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Shivam Yadav</title>
    <description>The latest articles on Forem by Shivam Yadav (@shivam_yadav_8e22bf5bf987).</description>
    <link>https://forem.com/shivam_yadav_8e22bf5bf987</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3799641%2Fe1602dec-3997-4bdc-be38-7884d78bde4f.png</url>
      <title>Forem: Shivam Yadav</title>
      <link>https://forem.com/shivam_yadav_8e22bf5bf987</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/shivam_yadav_8e22bf5bf987"/>
    <language>en</language>
    <item>
      <title>URL Parameters vs Query Strings in Express.js Explained from Scratch</title>
      <dc:creator>Shivam Yadav</dc:creator>
      <pubDate>Fri, 01 May 2026 10:18:38 +0000</pubDate>
      <link>https://forem.com/shivam_yadav_8e22bf5bf987/url-parameters-vs-query-strings-in-expressjs-explained-from-scratch-30cg</link>
      <guid>https://forem.com/shivam_yadav_8e22bf5bf987/url-parameters-vs-query-strings-in-expressjs-explained-from-scratch-30cg</guid>
      <description>&lt;p&gt;hey reader hii&lt;/p&gt;

&lt;p&gt;today we are i mean to say u and me are going to talk about URL Parameters vs Query Strings in Express.js&lt;/p&gt;

&lt;p&gt;yaaa yaaa its boring but let me make it intresting for u&lt;/p&gt;




&lt;h2&gt;
  
  
  first lets start from starting
&lt;/h2&gt;

&lt;p&gt;everyone know about Tim Berners-Lee creator of URL , HTML and HTTP&lt;/p&gt;

&lt;p&gt;he created this thing mostly to share document easily to any one&lt;/p&gt;

&lt;p&gt;but we are going to focus on URL&lt;/p&gt;




&lt;h2&gt;
  
  
  why did he create URL ?
&lt;/h2&gt;

&lt;p&gt;so the problem was how will we identify the document in this www or internet world&lt;/p&gt;

&lt;p&gt;so he end up making a unique string (yes a basic developer thinking)&lt;/p&gt;




&lt;h2&gt;
  
  
  let decode how the first URL looks like
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;http://info.cern.ch/hypertext/WWW/TheProject.html&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;yes yes this is how it look like it is messy but everything is messy at first gradually it will get clean that what history sayy&lt;/p&gt;

&lt;p&gt;okay okay let come back to the main topic&lt;/p&gt;




&lt;h2&gt;
  
  
  so in this URL
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;http://&lt;br&gt;
this act as a protocol&lt;br&gt;
tell system to use this protocol to communicate with this system&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;info.cern.ch&lt;br&gt;
this is host&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;/hypertext/WWW/TheProject.html&lt;br&gt;
this is path&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;so if u see this carefully u can see that this kinda a looking like a file system path&lt;/p&gt;

&lt;p&gt;why ? because developer are familiar with this strcuture&lt;/p&gt;

&lt;p&gt;so he did not made something new he just reused a familiar structure&lt;/p&gt;

&lt;p&gt;but till now this URL is not having the params and query&lt;/p&gt;




&lt;h1&gt;
  
  
  Where query strings came from ?
&lt;/h1&gt;

&lt;p&gt;with development the static website get converted into a dynamic website&lt;/p&gt;

&lt;p&gt;DB gets involve, search systems came in&lt;/p&gt;

&lt;p&gt;dynamic content was needed, people want condition baised data&lt;/p&gt;




&lt;h3&gt;
  
  
  That’s where query strings appeared
&lt;/h3&gt;

&lt;p&gt;so there are many parameter in an url like path , query , hash (#) ,etc&lt;/p&gt;

&lt;p&gt;we are going to focus on path which is params and another is query&lt;/p&gt;




&lt;h1&gt;
  
  
  so lets start with params
&lt;/h1&gt;

&lt;p&gt;so this how it look in url&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users/123/posts/456&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This is not random. It follows a hierarchical structure&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/resource/identifier&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Where did this structure come from?
&lt;/h2&gt;

&lt;p&gt;this was designed directly from file system (Unix)&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/home/shivam/file.txt&lt;/code&gt;&lt;/p&gt;




&lt;p&gt;so basically it means&lt;/p&gt;

&lt;p&gt;Go inside:&lt;/p&gt;

&lt;p&gt;users&lt;br&gt;
user 123&lt;br&gt;
posts&lt;br&gt;
post 456&lt;/p&gt;


&lt;h2&gt;
  
  
  General structure pattern
&lt;/h2&gt;

&lt;p&gt;Basic form:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/collection/:id&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Nested form:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/collection/:id/subcollection/:subId&lt;/code&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  How Express understands this
&lt;/h2&gt;

&lt;p&gt;When you write:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/users/:id&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Internally Express converts it to:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users/([^/]+)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;it means match after any things comes after users/&lt;br&gt;
and till the next /&lt;/p&gt;



&lt;p&gt;BTW one more thing express does not see the :id it see what is comming next after the users/ and till the next /&lt;/p&gt;

&lt;p&gt;so :id is only showing as a wrapper code to identify it in a code so the developer can use the value in his code&lt;/p&gt;


&lt;h2&gt;
  
  
  how to use in express
&lt;/h2&gt;

&lt;p&gt;so if first thing u have to do is to pass the name of the params so that in your code u can use it for accessing it&lt;/p&gt;

&lt;p&gt;it look like this&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/user/:id&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;so if u want to access it u can use&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Request:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users/123&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Extracted:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;123&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Multiple params structure
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/users/:userId/posts/:postId&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Request:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users/123/posts/456&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;123&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;postId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;456&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  how lets talk about query
&lt;/h1&gt;

&lt;p&gt;so the first AIM of query is to show data to user depending on condition&lt;/p&gt;

&lt;p&gt;A query string is the part of a URL that comes after ? and is made of key=value pairs&lt;/p&gt;




&lt;h2&gt;
  
  
  this is how it looks like
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/search?q=express&amp;amp;sort=latest&amp;amp;page=2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;? starts the query string&lt;br&gt;
&amp;amp; separates parameters&lt;br&gt;
= assigns value to a key&lt;/p&gt;




&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;q&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;express&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;latest&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Original purpose
&lt;/h2&gt;

&lt;p&gt;“Provide additional data to the resource without changing its identity.”&lt;/p&gt;

&lt;p&gt;That’s why&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users/123&lt;/code&gt; means the user which is identity&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users?age=20&lt;/code&gt; means filtered list which is instruction&lt;/p&gt;



&lt;p&gt;if u look closely u can the query parameter is inspired by SQL COMMAND&lt;/p&gt;

&lt;p&gt;example&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT * FROM users WHERE age = 20&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Query string became the web version of that&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users?age=20&lt;/code&gt;&lt;/p&gt;


&lt;h1&gt;
  
  
  4. Full structure
&lt;/h1&gt;

&lt;p&gt;General format&lt;/p&gt;

&lt;p&gt;&lt;code&gt;?key=value&amp;amp;key2=value&amp;amp;key3=value&lt;/code&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Important rules
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. every one need starting point so as query so it becames ?
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;/users?age=20&lt;/code&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  2. there can be multiple query parameter so we use &amp;amp;
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;/users?age=20&amp;amp;active=true&lt;/code&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  3. keys should be unique
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;/users?age=20&amp;amp;age=30&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Allowed but it can create ambiguity&lt;/p&gt;


&lt;h3&gt;
  
  
  one of the most important point
&lt;/h3&gt;

&lt;p&gt;Everything is text&lt;/p&gt;

&lt;p&gt;?age=20&lt;/p&gt;

&lt;p&gt;comes as&lt;/p&gt;

&lt;p&gt;"20"&lt;/p&gt;

&lt;p&gt;not number&lt;/p&gt;


&lt;h1&gt;
  
  
  How query parsing works internally
&lt;/h1&gt;

&lt;p&gt;Step by step&lt;/p&gt;

&lt;p&gt;Split after ?&lt;/p&gt;

&lt;p&gt;age=20&amp;amp;active=true&lt;/p&gt;

&lt;p&gt;Split by &amp;amp;&lt;/p&gt;

&lt;p&gt;["age=20", "active=true"]&lt;/p&gt;

&lt;p&gt;Split by =&lt;/p&gt;

&lt;p&gt;age becomes 20&lt;br&gt;
active becomes true&lt;/p&gt;

&lt;p&gt;Create object&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;20&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;active&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  In Express.js
&lt;/h1&gt;

&lt;p&gt;so in params u first have to declare the params but not in this&lt;/p&gt;

&lt;p&gt;it will directly given into the req.query so access it from there&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/users&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Request&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users?age=20&amp;amp;active=true&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Output&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;20&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;active&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Important detail
&lt;/h2&gt;

&lt;p&gt;Express uses parsers like&lt;/p&gt;

&lt;p&gt;querystring which is basic&lt;br&gt;
qs which is advanced&lt;/p&gt;


&lt;h1&gt;
  
  
  Advanced query formats
&lt;/h1&gt;
&lt;h2&gt;
  
  
  Arrays
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/products?category=electronics&amp;amp;category=books&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/products?category[]=electronics&amp;amp;category[]=books&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Parsed&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;category&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;electronics&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;books&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Nested objects
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/user?filter[name]=shivam&amp;amp;filter[age]=20&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Parsed&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;shivam&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;20&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Boolean or numbers
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;?active=true&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Still string&lt;/p&gt;

&lt;p&gt;"true"&lt;/p&gt;

&lt;p&gt;You must convert&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;active&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;active&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Real-world use cases
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Search
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/search?q=nodejs&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Filtering
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/products?price=low&amp;amp;brand=apple&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pagination
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/posts?page=2&amp;amp;limit=10&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sorting
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/posts?sort=latest&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature toggles
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/dashboard?darkMode=true&lt;/code&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  14. Internal philosophy
&lt;/h1&gt;

&lt;p&gt;Query params follow this principle&lt;/p&gt;

&lt;p&gt;“Same resource, different representation”&lt;/p&gt;

&lt;p&gt;Example&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/products?sort=price&lt;/code&gt;&lt;br&gt;
&lt;code&gt;/products?sort=rating&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Same resource but different view depending on how you request it&lt;/p&gt;




&lt;h1&gt;
  
  
  15. Final mental model
&lt;/h1&gt;

&lt;p&gt;Burn this&lt;/p&gt;

&lt;p&gt;Query means how you want the data&lt;/p&gt;

&lt;p&gt;Example&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users/123?include=posts&amp;amp;limit=5&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/users/123&lt;/code&gt; means what resource you are targeting&lt;/p&gt;

&lt;p&gt;&lt;code&gt;?include=posts&amp;amp;limit=5&lt;/code&gt; means how you want that data to be returned&lt;/p&gt;




&lt;h1&gt;
  
  
  Final closure
&lt;/h1&gt;

&lt;p&gt;so if u look at everything from starting to now&lt;/p&gt;

&lt;p&gt;you will realize that nothing in URL design is random&lt;/p&gt;

&lt;p&gt;everything is built on simple thinking&lt;/p&gt;

&lt;p&gt;first identify the resource clearly using path&lt;/p&gt;

&lt;p&gt;then modify or filter the data using query&lt;/p&gt;

&lt;p&gt;params give you the exact thing you want&lt;/p&gt;

&lt;p&gt;query helps you control how that thing should behave&lt;/p&gt;

&lt;p&gt;this separation is the reason why APIs today are clean predictable and scalable&lt;/p&gt;

&lt;p&gt;if u mix them randomly then your API will work but it will not be understandable and not maintainable&lt;/p&gt;

&lt;p&gt;and that is the difference between just making something work and actually designing it properly&lt;/p&gt;

&lt;p&gt;so next time when you design an API do not just write routes&lt;/p&gt;

&lt;p&gt;think what is the resource and how it should be accessed&lt;/p&gt;

&lt;p&gt;that is where real backend engineering starts&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>node</category>
      <category>express</category>
      <category>ai</category>
    </item>
    <item>
      <title>What Arranged Marriage Taught Me About JavaScript Promises</title>
      <dc:creator>Shivam Yadav</dc:creator>
      <pubDate>Sun, 01 Mar 2026 08:42:21 +0000</pubDate>
      <link>https://forem.com/shivam_yadav_8e22bf5bf987/what-arranged-marriage-taught-me-about-javascript-promises-211l</link>
      <guid>https://forem.com/shivam_yadav_8e22bf5bf987/what-arranged-marriage-taught-me-about-javascript-promises-211l</guid>
      <description>&lt;h1&gt;
  
  
  Promises, Rishtas, Aur Thoda Sa Intezaar
&lt;/h1&gt;

&lt;p&gt;Har Indian ghar mein ek phase aata hai.&lt;/p&gt;

&lt;p&gt;Shaam ka time.&lt;br&gt;
Mummy chai bana rahi hoti hain.&lt;br&gt;
TV pe daily soap chal raha hota hai.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwt3vkn8xdincfnk1jmiv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwt3vkn8xdincfnk1jmiv.jpg" alt="Image" width="450" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aur beech mein casually ek line aati hai&lt;/p&gt;

&lt;p&gt;“Beta… Sharma ji ka phone aaya tha.”&lt;/p&gt;

&lt;p&gt;Bas.&lt;/p&gt;

&lt;p&gt;Background music change.&lt;/p&gt;

&lt;p&gt;Aapko samajh aa jaata hai.&lt;/p&gt;

&lt;p&gt;Shaadi season officially shuru ho chuka hai.&lt;/p&gt;

&lt;p&gt;Riya bhi ussi phase mein thi.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffrrh068kumvuqjanhqba.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffrrh068kumvuqjanhqba.jpg" alt="Image" width="700" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Job stable.&lt;br&gt;
Salary theek.&lt;br&gt;
Life sorted.&lt;/p&gt;

&lt;p&gt;Par ghar walon ke hisaab se—&lt;/p&gt;

&lt;p&gt;“Ab settle ho jao.”&lt;/p&gt;

&lt;p&gt;Aur yahin se shuru hoti hai Promises ki kahani.&lt;/p&gt;


&lt;h1&gt;
  
  
  Promise Kya Hota Hai?
&lt;/h1&gt;

&lt;p&gt;Promise matlab&lt;/p&gt;

&lt;p&gt;“Abhi answer nahi milega.&lt;br&gt;
Par milega.&lt;br&gt;
Ya toh haan mein milega.&lt;br&gt;
Ya seedha mana.”&lt;/p&gt;

&lt;p&gt;Beech mein koi confusion nahi.&lt;/p&gt;

&lt;p&gt;Jaise rishta.&lt;/p&gt;

&lt;p&gt;Ya pakka.&lt;br&gt;
Ya cancel.&lt;/p&gt;

&lt;p&gt;JavaScript ne is waiting ko naam diya Promise.&lt;/p&gt;


&lt;h1&gt;
  
  
  Promise.all()  “Sabki Haan Zaroori Hai”
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftd4kjfdo7bxu25iho3ef.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftd4kjfdo7bxu25iho3ef.jpg" alt="Image" width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Riya ka pehla rishta aaya.&lt;/p&gt;

&lt;p&gt;Ladka achha tha.&lt;br&gt;
Salary impressive thi.&lt;br&gt;
Family decent thi.&lt;/p&gt;

&lt;p&gt;Par Indian shaadi emotional nahi hoti.&lt;/p&gt;

&lt;p&gt;System hota hai.&lt;/p&gt;

&lt;p&gt;Checklist hoti hai.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Riya ko ladka pasand?&lt;/li&gt;
&lt;li&gt;Mummy ko family pasand?&lt;/li&gt;
&lt;li&gt;Papa ko job pasand?&lt;/li&gt;
&lt;li&gt;Kundli match?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sab green tick chahiye.&lt;/p&gt;

&lt;p&gt;Ek bhi red cross?&lt;/p&gt;

&lt;p&gt;Game over.&lt;/p&gt;

&lt;p&gt;Yeh hai &lt;code&gt;Promise.all()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Sab promises successful honge tabhi result milega.&lt;/p&gt;
&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;riya&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Riya agreed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;parents&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Parents agreed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;horoscope&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Horoscope matched&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;all&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;riya&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;parents&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;horoscope&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Shaadi Pakki &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Rishta Toot Gaya &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Agar ek bhi reject ho jaye…&lt;/p&gt;

&lt;p&gt;Sab khatam.&lt;/p&gt;


&lt;h1&gt;
  
  
  Promise.allSettled() — “Mujhe Sach Batao”
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7uwunq60o7zjrlovufgb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7uwunq60o7zjrlovufgb.png" alt="Image" width="800" height="1126"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do teen rishton ke baad Riya badal gayi.&lt;/p&gt;

&lt;p&gt;Ab woh toot’ti nahi thi.&lt;/p&gt;

&lt;p&gt;Bas bolti thi&lt;/p&gt;

&lt;p&gt;“Thik hai. Batao feedback kya hai.”&lt;/p&gt;

&lt;p&gt;Ek ne mana kiya.&lt;br&gt;
Ek ne horoscope issue bola.&lt;br&gt;
Ek ne haan bola.&lt;/p&gt;

&lt;p&gt;Pehle rejection insult lagta tha.&lt;/p&gt;

&lt;p&gt;Ab woh sirf data tha.&lt;/p&gt;

&lt;p&gt;Yeh hai &lt;code&gt;Promise.allSettled()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Yeh kehta hai—&lt;/p&gt;

&lt;p&gt;Main sabka result launga.&lt;br&gt;
Jo pass hua woh bhi.&lt;br&gt;
Jo fail hua woh bhi.&lt;/p&gt;
&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;boy1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Good Family&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;boy2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Horoscope Issue&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;boy3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Nice Nature&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;allSettled&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;boy1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;boy2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;boy3&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[
 { status: 'fulfilled', value: 'Good Family' },
 { status: 'rejected', reason: 'Horoscope Issue' },
 { status: 'fulfilled', value: 'Nice Nature' }
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Maturity is when rejection becomes information.&lt;/p&gt;




&lt;h1&gt;
  
  
  Promise.race() “Jo Pehle Haan Karega”
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzci8mnsyc2so8zjcep4k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzci8mnsyc2so8zjcep4k.jpg" alt="Image" width="300" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ab ghar wale impatient ho gaye.&lt;/p&gt;

&lt;p&gt;Dadi ne declare kar diya—&lt;/p&gt;

&lt;p&gt;“Jo pehle haan karega, wahi final.”&lt;/p&gt;

&lt;p&gt;Do families baat kar rahi thi.&lt;/p&gt;

&lt;p&gt;Delhi wale soch rahe the.&lt;br&gt;
Mumbai wale ready ho gaye.&lt;/p&gt;

&lt;p&gt;Decision ho gaya.&lt;/p&gt;

&lt;p&gt;Yeh hai &lt;code&gt;Promise.race()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Jo pehle settle hua&lt;br&gt;
Wahi result.&lt;/p&gt;
&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;delhi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
  &lt;span class="nf"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Delhi Ready&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mumbai&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;resolve&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;
  &lt;span class="nf"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Mumbai Ready&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;race&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;delhi&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;mumbai&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Speed bhi ek decision hoti hai.&lt;/p&gt;


&lt;h1&gt;
  
  
  Promise.any() “Bas Ek Haan Kaafi Hai”
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.freepixel.com%2Fpreview%2Ffree-photos-eastern-indian-woman-meditating-and-lighting-a-lamp-preview-100329668.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.freepixel.com%2Fpreview%2Ffree-photos-eastern-indian-woman-meditating-and-lighting-a-lamp-preview-100329668.jpg" alt="Image" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Phir ek phase aaya.&lt;/p&gt;

&lt;p&gt;Jab Riya ne decide kiya&lt;/p&gt;

&lt;p&gt;“Mujhe perfect nahi chahiye.”&lt;/p&gt;

&lt;p&gt;“Bas ek insaan chahiye jo mujhe choose kare.”&lt;/p&gt;

&lt;p&gt;Paanch ne mana kar diya.&lt;/p&gt;

&lt;p&gt;Ek ne haan bola.&lt;/p&gt;

&lt;p&gt;Aur us ek haan ne&lt;br&gt;
sab purane mana ko irrelevant bana diya.&lt;/p&gt;

&lt;p&gt;Yeh hai &lt;code&gt;Promise.any()&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;p1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Rejected 1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;p2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Rejected 2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;p3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;He Said Yes ❤️&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="nx"&gt;p1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;p2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;p3&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Sabne Mana Kar Diya&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;One success is enough.&lt;/p&gt;


&lt;h1&gt;
  
  
  Promise.resolve() “Instant Haan”
&lt;/h1&gt;

&lt;p&gt;Kabhi kabhi cheezein simple hoti hain.&lt;/p&gt;

&lt;p&gt;Milte hi vibe match.&lt;/p&gt;

&lt;p&gt;No drama.&lt;/p&gt;

&lt;p&gt;Seedha&lt;/p&gt;

&lt;p&gt;“Let’s do this.”&lt;/p&gt;

&lt;p&gt;Yeh hota hai &lt;code&gt;Promise.resolve()&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Code Example
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Rishta Pakka &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Rishta Pakka 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Immediate success. No waiting.&lt;/p&gt;




&lt;h1&gt;
  
  
  Promise.reject()  “Seedha Mana”
&lt;/h1&gt;

&lt;p&gt;Kabhi kabhi message aata hai&lt;/p&gt;

&lt;p&gt;“Sorry. Not interested.”&lt;/p&gt;

&lt;p&gt;Bas.&lt;/p&gt;

&lt;p&gt;Koi explanation nahi.&lt;/p&gt;

&lt;p&gt;Yeh hota hai &lt;code&gt;Promise.reject()&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Rishta Cancelled &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Rishta Cancelled 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Immediate rejection.&lt;/p&gt;




&lt;h1&gt;
  
  
  The 1% Realization
&lt;/h1&gt;

&lt;p&gt;Zindagi synchronous nahi hoti.&lt;/p&gt;

&lt;p&gt;Har cheez time leti hai.&lt;/p&gt;

&lt;p&gt;Rishtas.&lt;br&gt;
Career.&lt;br&gt;
Dreams.&lt;br&gt;
Replies.&lt;br&gt;
Results.&lt;/p&gt;

&lt;p&gt;Aur har jagah wahi patterns milte hain—&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sabka approval → &lt;code&gt;Promise.all()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Full report → &lt;code&gt;Promise.allSettled()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Jo pehle aaye → &lt;code&gt;Promise.race()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Bas ek chance → &lt;code&gt;Promise.any()&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Programming sirf syntax nahi hai.&lt;/p&gt;

&lt;p&gt;It’s life converted into logic.&lt;/p&gt;

&lt;p&gt;Aur jab tum Promises samajh jaate ho…&lt;/p&gt;

&lt;p&gt;Tum wait karna seekh jaate ho.&lt;/p&gt;

&lt;p&gt;Kyuki intezaar bhi system ka part hai.&lt;/p&gt;

&lt;p&gt;Aur jo intezaar samajh gaya…&lt;/p&gt;

&lt;p&gt;Woh asynchronous se kabhi nahi darega.&lt;/p&gt;

</description>
      <category>chaicode</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
