Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में प्रॉमिस पर then और catch के साथ finally कैसे उपयोग करें?


जब कोई प्रॉमिस सेटल होता है, यानी या तो फुलफिल्ड या रिजेक्टेड, तो finally मेथड में निर्दिष्ट कॉलबैक फ़ंक्शन इनवोक होता है। finally() मेथड एक प्रॉमिस भी लौटाता है।

यह कोड के लिए एक तरीका प्रदान करता है कि प्रॉमिस सफलतापूर्वक फुलफिल्ड हुई या रिजेक्टेड, एक बार प्रॉमिस डील हो जाने के बाद चलाया जाए। आइए एक उदाहरण देखें:

उदाहरण

new Promise( (resolve) => setTimeout(resolve("success"), 1000) ).then(val => console.log(val)).finally(() => console.log("Promise complete!"))

आउटपुट

success Promise complete!

अब देखते हैं कि क्या होता है यदि कोई प्रॉमिस विफल होती है:

उदाहरण

// undefined पर कोई get मेथड नहीं। यह एरर फेंकेगा new Promise(() => undefined.get()) .then(val => console.log(val)) .catch(err => console.log("Failed!")) .finally(() => console.log("Promise complete!"))

आउटपुट

Failed! Promise complete!

ध्यान दें कि दोनों मामलों में चाहे विफल या सफल, प्रॉमिस ने finally स्टेटमेंट एक्ज़िक्यूट किया।

  1. CSS और JavaScript से कॉलैप्सिबल सेक्शन बनाएं CSS और JavaScript से कॉलैप्सिबल सेक्शन बनाएं

    कॉलैप्सिबल सेक्शन (अकॉर्डियन) वेब पेज पर कंटेंट को व्यवस्थित करने का एक शानदार तरीका है, जिससे उपयोगकर्ता केवल वही देखते हैं जिसमें वे रुचि रखते हैं। उदाहरण <!DOCTYPE html> <html> <head> <meta name=viewport content=width=device-width, initial-scale=1 /> <style> bo

  1. CSS और JavaScript के साथ स्नैकबार/टोस्ट कैसे बनाएं? CSS और JavaScript के साथ स्नैकबार/टोस्ट कैसे बनाएं?

    उदाहरण CSS और JavaScript का उपयोग करके स्नैकबार/टोस्ट बनाने के लिए, निम्न कोड का उपयोग करें: <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>    body {       font-fa

  1. JavaScript से सिंटैक्स हाइलाइटर कैसे बनाएं और उपयोग करें? JavaScript से सिंटैक्स हाइलाइटर कैसे बनाएं और उपयोग करें?

    सिंटैक्स हाइलाइटर बनाने और उपयोग करने के लिए कोड निम्न है -उदाहरण<!DOCTYPE html> <html> <head> <style>    body {       font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;    }    .colorLinks {     &nbs