के साथ एसिंक अंतहीन पाश कैसे प्राप्त करें मुझे इसके अंदर वादे करने वाले "अंतहीन" होने की आवश्यकता है। यहाँ कुछ उदाहरण कोड है:वादे
let noErrorsOccured = true
while (noErrorsOccured){
someAsyncFunction().then(() => {
doSomething();
}).catch((error) => {
console.log("Error: " + error);
noErrorsOccured = false;
});
}
function someAsyncFunction() {
return new Promise ((resolve, reject) => {
setTimeout(() => {
const exampleBool = doSomeCheckup();
if (exampleBool){
resolve();
} else {
reject("Checkup failed");
}
}, 3000);
});
}
तो यह है, जबकि लूप, अंतहीन चलाना चाहिए सिवाय एक त्रुटि तब होती है, तो थोड़ी देर के पाश बंद कर देना चाहिए। इसे कैसे प्राप्त किया जा सकता है?
मुझे आशा है कि आप समझ सकते हैं कि मैं क्या मतलब है और अग्रिम :) धन्यवाद
वादा प्रतिक्रियाओं (बुला पूरा या अस्वीकृति हैंडलर) के कारण उन्हें पूरा कर लिया है निष्पादित करने के लिए एक एक धागा के बाद एसिंक्रोनस रूप से क्रियान्वित कर रहे हैं। पहला जबकि लूप एक अनंत ** अवरुद्ध ** लूप है, जो असीमित संख्या में वादे करता है जो कभी भी नहीं सुलझाया जाता है क्योंकि टाइमआउट कॉल बैक कभी नहीं होता है: डी _Possibly_ आप एक टाइमआउट या अंतराल टाइमर चाहते हैं जो पिछले वादे के 3 सेकंड बाद प्रतीक्षा करे एक और जांच चलाने से पहले एक एसिंक्रोनस चेक अप के लिए बनाया गया है? – traktor53
समस्या यह है कि मुझे वास्तव में पता नहीं है कि मेरे वादे को हल करने में कितना समय लगता है, मैंने केवल अपने उदाहरण को स्पष्ट करने के लिए 'setTimeout() 'का उपयोग किया। लेकिन फ़ेलिक्स क्लिंग का समाधान पूरी तरह से काम करता है, इसलिए किसी अन्य समाधान की आवश्यकता नहीं है, लेकिन वैसे भी धन्यवाद :) – C4rmond4i