2012-01-06 14 views
15

मुझे समझ में नहीं आता कि हर वादे क्या हैं।हर औथ वादे क्या हैं?

मुझे लगता है कि मुझे एक वादा वस्तु या उपयोगकर्ता को वापस करने की आवश्यकता है, लेकिन हर कोई वादा क्या है?

उत्तर

25

यह उपयोगी है जब आपके पास एक ऐसा कार्य है जो प्रमाणीकरण करता है, लेकिन जो असीमित रूप से करता है। आप सीधे फ़ंक्शन से उपयोगकर्ता की जानकारी वापस नहीं कर सकते हैं (क्योंकि आपको कॉलबैक आग लगने की प्रतीक्षा करनी है), इसलिए इसके बजाय आप वादा वापस कर सकते हैं। यह एक विशेष वस्तु है जो "प्लेसहोल्डर" के रूप में कार्य करती है, जो अंततः उपयोगकर्ता जानकारी के साथ भरी जाएगी जब एसिंक्रोनस अनुरोध पूरा हो जाता है।

the documentation से

उदाहरण:

function (session, accessToken, extra, oauthUser) { 
    var promise = this.Promise(); 
    asyncFindUser(function (err, user) { 
    if (err) return promise.fail(err); 
    promise.fulfill(user); 
    }); 
    return promise; 
} 

इसका मतलब है कि जब तक यह वास्तव में जरूरत है कि उपयोगकर्ता जानकारी (और यह सब करते हुए, इस बीच, अतुल्यकालिक अनुरोध को पूरा किया जाता है कि फोन करने के संदर्भ ठीक काम कर रही पर ले जा सकता है); यदि उपयोगकर्ता की जानकारी अभी तक उपलब्ध नहीं है तो उसे उस बाद के चरण में इंतजार करना होगा। आप इसे धागे के निर्माण और जुड़ने के एक बहुत ही विशिष्ट मामले के रूप में सोच सकते हैं।

"Promise" एक सामान्य शब्द है भाषाओं और संदर्भों के सभी प्रकार में कार्यक्षमता की इस तरह शामिल किया गया है:

कंप्यूटर विज्ञान, भविष्य, वादा में, और कुछ समवर्ती में तुल्यकालन के लिए इस्तेमाल किया निर्माण को संदर्भित देरी प्रोग्रामिंग की भाषाएँ। वे किसी ऑब्जेक्ट का वर्णन करते हैं जो परिणामस्वरूप प्रॉक्सी के रूप में कार्य करता है जिसे प्रारंभ में जाना जाता है, आमतौर पर क्योंकि इसके मान की गणना अभी तक पूर्ण नहीं हुई है।

+0

धन्यवाद ... अब मेरे लिए सब कुछ स्पष्ट है !!! – rizidoro

+0

@ अज्ञात ड्राइव-डाउनवॉटर द्वारा: आपको मुझसे मजाक करना होगा? –

संबंधित मुद्दे