𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗦𝘆𝗻𝗰𝗵𝗿𝗼𝗻𝗼𝘂𝘀 𝗮𝗻𝗱 𝗔𝘀𝘆𝗻𝗰𝗵𝗿𝗼𝗻𝗼𝘂𝘀

JavaScript એક સિંગલ થ્રેડ (single thread) પર ચાલે છે. આનો અર્થ એ છે કે તે એક સમયે એક જ વસ્તુનું અમલીકરણ કરે છે. કાર્યક્ષમ કોડ લખવા માટે તે કાર્યોને કેવી રીતે હેન્ડલ કરે છે તે સમજવું જરૂરી છે.

Synchronous JavaScript

Synchronous કોડ લાઇન પ્રમાણે ચાલે છે. દરેક કાર્ય અગાઉના કાર્યના પૂર્ણ થવાની રાહ જુએ છે. આને blocking કહેવામાં આવે છે. જો એક કાર્યમાં લાંબો સમય લાગે, તો આખો પ્રોગ્રામ અટકી જાય છે.

Asynchronous JavaScript

Asynchronous કોડ સ્વતંત્ર રીતે ચાલે છે. કાર્યો રાહ જોતી વખતે અન્ય કોડને બ્લોક (block) કરતા નથી. આને non-blocking કહેવામાં આવે છે. કાર્ય બેકગ્રાઉન્ડમાં શરૂ થાય છે અને પૂર્ણ થયા પછી તમને જાણ કરે છે.

Asynchronous કાર્યોને હેન્ડલ કરવાની ત્રણ રીતો:

  1. Callbacks: એક ફંક્શન જે કાર્ય પૂર્ણ થયા પછી ચાલે છે.
  2. Promises: એક ઓબ્જેક્ટ જે ઓપરેશનની સફળતા અથવા નિષ્ફળતા દર્શાવે છે.
  3. Async/Await: સૌથી સ્વચ્છ પદ્ધતિ. તે થ્રેડને બ્લોક કર્યા વિના asynchronous કોડને synchronous કોડ જેવો બનાવે છે.

સામાન્ય asynchronous ઓપરેશન્સ:

Event Loop આ પ્રક્રિયાને શક્ય બનાવે છે. તે એકસાથે અનેક કાર્યોનું સંચાલન કરવા માટે Call Stack, Web APIs, અને Callback Queue નો ઉપયોગ કરે છે.

સારાંશ:

Source: https://www.geeksforgeeks.org/javascript/synchronous-and-asynchronous-in-javascript/ Source: https://www.w3schools.com/js/js_asynchronous.asp Source: https://medium.com/@mohdtalib.dev/what-is-synchronous-and-asynchronous-in-javascript-07adb7b4cc5f

Full post: https://dev.to/raja_b_0c9d242e2c26cf063b/javascript-synchronous-and-asynchronous-2a69