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

JavaScript ఒకే థ్రెడ్‌పై (single thread) నడుస్తుంది. అంటే ఇది ఒక సమయంలో ఒక పనిని మాత్రమే చేస్తుంది. సమర్థవంతమైన కోడ్‌ను వ్రాయడానికి ఇది పనులను ఎలా నిర్వహిస్తుందో మీరు అర్థం చేసుకోవాలి.

Synchronous JavaScript

Synchronous కోడ్ లైన్ బై లైన్ (line by line) నడుస్తుంది. ప్రతి పని ముగిసే వరకు తదుపరి పని వేచి ఉంటుంది. దీనిని '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లను ఉపయోగిస్తుంది.

Summary:

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