दिलचस्प पोस्ट
स्विफ्ट में नेमस्पेस का उपयोग कैसे करें? कैसे ठीक से और मानक रूप से तुलना फ्लोट्स? "#include" को एक सी फ़ाइल में एक पाठ फ़ाइल में चार के रूप में क्या SparkSQL का समर्थन करता है subquery? आईफोन के लिए फोनगैप: बाहरी URL लोड करने में समस्या यूआईएलएबल में टेक्स्ट रेखांकित करें एएसपी.नेट एमवीसी कैसे डेटा से नियंत्रक को पास करने के लिए PHP स्क्रिप्ट वास्तव में कैसे निष्पादित है? स्ट्रिंग (और स्ट्रिंग), वीएसीई (और वीएसी) या बॉक्स (और बॉक्स) के संदर्भ को एक तर्क तर्क के रूप में स्वीकार करने के लिए इसे क्यों हतोत्साहित किया जाता है? ओएस एक्स फ्रेमवर्क लाइब्रेरी लोड नहीं हुई: 'इमेज नहीं मिली' नरम कुंजीपटल खुला मिलिसेकंड्स के लिए सो जाओ 2 सी # प्रक्रियाओं के बीच अंतर-प्रक्रिया संचार की सबसे सरल विधि क्या है? क्या किसी को आंतरिक कार्यान्वयन, या केवल सार्वजनिक व्यवहार का परीक्षण करना चाहिए? इस अजगर स्निपेट में अर्धविराम की अनुमति क्यों है?

वायर्ड का उपयोग करके कॉल बैक फ़ंक्शन से वापसी पाने के लिए एक चर सेट करना

मुझे सटीक मान के बजाय "ऑब्जेक्ट" मान मिल रहा है कॉलबैक फ़ंक्शन का उपयोग करके मुझे वापस कैसे प्राप्त किया जा सकता है?

function loadDB(option, callBack){ var dfd = new jQuery.Deferred(), db = window.openDatabase('mydb', '1.0', 'Test DB', 1024*1024), selectQuery = "SELECT log FROM LOGS WHERE id = ?"; db.transaction(function(tx){ tx.executeSql(selectQuery,[option],function(tx,results){ var retval; if( results.rows.length ) { retval = unescape(results.rows.item(0)['log']); } var returnValue = dfd.resolve(retval); }); }); return dfd.promise(); } results = loadDB(2).then(function(val){ return val; } ); console.log("response***",results); 

वेब के समाधान से एकत्रित समाधान "वायर्ड का उपयोग करके कॉल बैक फ़ंक्शन से वापसी पाने के लिए एक चर सेट करना"

वादा एक बंद बॉक्स की तरह है:

यहां छवि विवरण दर्ज करें

आस्थगित वस्तु के साथ आपका उपरोक्त कोड, बॉक्स बनाता है, और आपको यह जानने की सुविधा देता है कि भविष्य में कुछ समय आप इसे खोल सकते हैं। उस समय जब कोड के ऊपर कॉल किया .resolve

जब आप results = loadDB(2) करते हैं तो आप परिणामों में एक बॉक्स डाल रहे हैं।

एक वादा में भी एक तरीका है जो बॉक्स को खोलता है, मूल्य पर काम करता है और मूल्य पर एक और बॉक्स देता है (जिस तरह से किसी भी अतिरिक्त बक्से को खोलना)। यह विधि है। तब:

बॉक्स में, यह करता है:

यहां छवि विवरण दर्ज करें => ( खुला । => ई ) => ई

यही है, यह बॉक्स लेता है, इसे खोलता है और उस फ़ंक्शन पर लागू होता है जो उसमें मूल्य के लिए कुछ करता है और फिर उस पर नया मान वाला दूसरा बॉक्स देता है।

इसलिए, यदि आप मूल्य संसाधित करना चाहते हैं, तो आपको उस जगह पर हुक करनी होगी जहां बॉक्स खुला है, जैसे बर्गी ने सुझाव दिया:

 loadDB(2).then(function(val){ console.log("response***", val); }); // this also returns a promise btw 

आप एक वादा (यहां: एसिंक्रोनस) संदर्भ से हल मूल्य प्राप्त नहीं कर सकते।

इसके बजाए, आपको console.log कॉल और अन्य सभी चीजें जो वादे के संदर्भ में इस पर निर्भर करती हैं, को स्थानांतरित करने की आवश्यकता होगी:

 loadDB(2).then(function(val){ console.log("response***", val); });