JavaScript Promise.race() పద్ధతి

Javascript Promise Race Pad Dhati



Promise.race() పద్ధతి అనేది JavaScript యొక్క అంతర్నిర్మిత పద్ధతి, ఇది వాగ్దానాలను ఒక వాదనగా తీసుకుంటుంది మరియు పరిష్కరించబడిన లేదా తిరస్కరించబడిన మొదటి వాగ్దానాన్ని అందిస్తుంది. Promise.race() పద్ధతి పూర్తి విలువను లేదా తిరస్కరణకు కారణాన్ని అందిస్తుంది. శ్రేణులు, స్ట్రింగ్‌లు మరియు మ్యాప్స్ వంటి వాటి ద్వారా లూప్ చేయగల వస్తువులు ఇటరబుల్‌లు.

ఏమైనప్పటికీ వాగ్దానాలు ఏమిటి?

అసమకాలిక కోడ్ వాగ్దానాలతో వ్యవహరించవచ్చు. వారు ఎగ్జిక్యూటర్ అని పిలువబడే ఒక ఫంక్షన్‌ను పారామీటర్‌గా తీసుకుంటారు. వాగ్దానం సృష్టించబడినప్పుడు, కార్యనిర్వాహకుడు స్వయంచాలకంగా అసమకాలికంగా రన్ అవుతుంది మరియు అది నెరవేరినట్లయితే విలువను తిరిగి ఇస్తుంది, లేకుంటే అది తిరస్కరణకు కారణాన్ని అందిస్తుంది:

ఉదాహరణ_వాగ్దానం చేయనివ్వండి = కొత్త వాగ్దానం ( ( పరిష్కరించు, తిరస్కరించు ) => {
పరిష్కరించండి ( 'వాగ్దానం పరిష్కరించబడింది' ) ;
} ) ;

ఉదాహరణ_వాగ్దానం. అప్పుడు ( ఆర్ => కన్సోల్. లాగ్ ( ఆర్ ) ) ;







వాగ్దానాల అసమకాలిక స్వభావం:



ఉదాహరణ_వాగ్దానం చేయనివ్వండి = కొత్త వాగ్దానం ( ( పరిష్కరించు, తిరస్కరించు ) => {
పరిష్కరించండి ( 'వాగ్దానం పరిష్కరించబడింది' ) ;
} ) ;

ఉదాహరణ_వాగ్దానం. అప్పుడు ( ఆర్ => కన్సోల్. లాగ్ ( ఆర్ ) ) ;
కన్సోల్. లాగ్ ( '1,2,3...' ) ;



Promise.race() పద్ధతిని ఎలా ఉపయోగించాలి?

Promise.race() పద్ధతికి వాగ్దానాల పునరావృతాన్ని పాస్ చేయండి మరియు దాని రిటర్న్ విలువను వేరియబుల్‌లో పొందండి:





ప్రోమ్1ని అనుమతించండి = కొత్త వాగ్దానం ( ( పరిష్కరించు, తిరస్కరించు ) => {
సమయం ముగిసింది ( ( ) => పరిష్కరించండి ( 'వాగ్దానం పరిష్కరించబడింది' ) , 500 ) ;
} ) ;

ప్రోమ్ 2ని అనుమతించండి = కొత్త వాగ్దానం ( ( పరిష్కరించు, తిరస్కరించు ) => {
సమయం ముగిసింది ( ( ) => తిరస్కరించండి ( 'వాగ్దానం పరిష్కరించబడలేదు' ) , 250 ) ;
} ) ;

ఉష్ణోగ్రతను అనుమతించండి = ప్రామిస్. జాతి ( [ ప్రోమ్1, ప్రాం2 ] ) ;

ఉష్ణోగ్రత. క్యాచ్ ( కారణం => కన్సోల్. లాగ్ ( కారణం ) ) ;

ఈ ఉదాహరణలో మనకు రెండు వాగ్దానాలు ఉన్నాయి. మొదటి వాగ్దానం 500మి.ల తర్వాత పరిష్కరించబడింది మరియు రెండవ వాగ్దానం కేవలం 250 సెకన్ల తర్వాత తిరస్కరించబడింది. రెండవ వాగ్దానం మొదటిది పరిష్కరించబడినది లేదా తిరస్కరించబడినది కనుక ఇది Promise.race() పద్ధతి ద్వారా తిరిగి ఇవ్వబడింది.



Promise.race() పద్ధతికి పంపబడిన ఆర్గ్యుమెంట్ ఖాళీగా ఉంటే, ఆ పద్ధతి ఎప్పటికీ పెండింగ్‌లో ఉన్న వాగ్దానాన్ని అందిస్తుంది:

ఉష్ణోగ్రతను అనుమతించండి = ప్రామిస్. జాతి ( [ ] ) ;

కన్సోల్. లాగ్ ( ఉష్ణోగ్రత ) ;

పునరావృతమయ్యే వాదనలో ఏదైనా వాగ్దానం లేని విలువలు లేదా వాగ్దానాలు ఇప్పటికే నెరవేర్చబడిన లేదా తిరస్కరించబడినట్లయితే, ఆ పద్ధతి శ్రేణిలోని మొదటి విలువకు స్థిరపడుతుంది:

p1ని అనుమతించండి = కొత్త వాగ్దానం ( ( పరిష్కరించు, తిరస్కరించు ) => {
పరిష్కరించండి ( 'P1 పరిష్కరించబడింది' ) ;
} ) ;

p2ని అనుమతించండి = కొత్త వాగ్దానం ( ( పరిష్కరించు, తిరస్కరించు ) => {
పరిష్కరించండి ( 'P2 పరిష్కరించబడింది' ) ;
} ) ;

ఉష్ణోగ్రతను అనుమతించండి = ప్రామిస్. జాతి ( [ p1,p2 ] ) ;
ఉష్ణోగ్రత. అప్పుడు ( విలువ => కన్సోల్. లాగ్ ( విలువ ) ) ;

Promise.race() పద్ధతిలో పరిష్కరించబడిన మరియు తిరస్కరించబడిన వాగ్దానాల కోసం తనిఖీ చేయండి. ఈ పద్ధతికి మరొక ప్రత్యామ్నాయం కూడా ఉంది, ఇది Promise.any() పద్ధతిని నెరవేర్చిన వాగ్దానాల కోసం తనిఖీ చేయడానికి ఉపయోగించవచ్చు.

ముగింపు

Promise.race() పద్ధతిని మొదటి వాగ్దానాన్ని పొందడం కోసం ఉపయోగించబడుతుంది, అది నెరవేరిన లేదా తిరస్కరించదగిన వాగ్దానాల నుండి. ముందుగా నెరవేర్చిన లేదా తిరస్కరించబడిన వాగ్దానం Promise.race() యొక్క రిటర్న్ విలువ. రైట్-అప్ Promise.race() పద్ధతిలో లోతైన అంతర్దృష్టిని అందించింది.