मोबाइल फोनगैप ऐप विकसित करते समय मुझे एक दिलचस्प समस्या थी। मुझे डेटाबेस से डेटा के 10 आइटम (फोनगैप्स एसक्यूएलएट एपीआई के माध्यम से) पूछने की ज़रूरत है ... कई जावास्क्रिप्ट एपीआई की तरह, यह असीमित था। जब आप अपनी क्वेरी बनाते हैं, तो आप "सफलता" हैंडलर में गुजरेंगे।जावास्क्रिप्ट में तुल्यकालिक व्यवहार प्राप्त करना?
अब, इस मामले में मेरी प्राथमिकता एक सिंक्रोनस क्वेरी विधि होगी जो केवल पूर्ण होने पर ही लौटा दी गई होगी। तब मैं सीधे लाइन कोड लिख सकता था जो कि प्रत्येक 10 आइटमों में से प्रत्येक के बाद 1 में पूछताछ करता था।
db.query("SELECT...", success() {
db.query("SELECT...", success() {
db.query("SELECT...", success() {
db.query("SELECT...", success() {
db.query("SELECT...", success() {
}
}
}
}
}
और यह मैं के रूप में के रूप में गहरी केवल आधा है:
PhoneGap (वास्तव में, मैं सभी जे एस से अधिक लेकिन यह देखें) मैं एक जानवर है कि इस तरह देखा लिखने के लिए मजबूर किया गया था के अतुल्यकालिक प्रकृति के कारणजाना था (और बहुत सरल बनाया ...) ... जब, था मैं सी में SQLite का उपयोग किया गया है, मैं बस की तरह कुछ कर सकते थे:
db.query("SELECT...", resultA);
db.query("SELECT...", resultB);
db.query("SELECT...", resultC);
db.query("SELECT...", resultD);
db.query("SELECT...", resultE);
मुझे ऐसा लगता है कि सफलता हैंडलर दृष्टिकोण बहुत अच्छा है जब आपको केवल 1 या 2 स्तरों को गहरा जाना है ... लेकिन, जब आपको अधिक थैला की आवश्यकता होती है तो पूरी तरह अलग हो जाती है n कि ...
क्या उनकी लाइब्रेरी या लाइब्रेरी की सुविधा कहीं और आसान है?
कूल लाइब्रेरी। यह जानना अच्छा है कि मेरा जवाब पागल नहीं है, क्योंकि यह प्रभावी ढंग से आपके द्वारा अंतिम कोड नमूना क्या कर रहा है। +1 – cdeszaq