angularjs - angular interpolation using "async" function -
मेरी तालिका में ऐसा कोड है (जेड नोटेशन):
table.displaytable t (Ng-repeat = "itemList में आइटम"): टीडी बी {{item.Id}} टीडी {{getTypeName (item.TypeId)}}
और getTypeName वास्तव में कुछ कॉल कर रहा है Async अनुक्रम:
$ scope.getTypeName = फ़ंक्शन (टाइप आईडी) {var lang = CurrentLanguageService.getCurrentCulture (); Var label = typesService.getLabelAsync (typeId, lang); वापसी लेबल; }
सेवा में मुझे
var getLabelAsync = function (id, langCulture) के रूप में परिभाषित फ़ंक्शन है {return load} (लौंग क्राफ्ट)। तब (फ़ंक्शन ( डेटा) {रिटर्न डेटा;}
मेरे पास निम्न प्रश्न हैं:
-
क्या मैं अपने वादे के डेटा का सही उपयोग करने के लिए वास्तविक "लेबल"
-
मुझे वादा को हल करने के लिए कई कॉल्स मिलते हैं (जो कि सर्वर पर तीन कॉल्स ट्रिगर करता है) जबकि मेरे पास इंटरपोलेट करने के लिए केवल एक तालिका होती है?
-
मैं भी पा रहा हूं
त्रुटि: [$ interpolate: interr] इंटरपाल्ट नहीं कर सकता: {{getTypeName (item.typeId)}} प्रकार त्रुटि: गुण ' तो 'रिक्त का
var getLabelAsync = फ़ंक्शन (id , लैंगकल्चर) {लौटे लोडप्रोमोइज़ (लैंगकल्चर); // बस वादा वापस करें जो बाद में हल करेगा}
अगर आपको अपना स्वयं का वादा करने की आवश्यकता है बाद में हल करें तो आप स्थगित = $ q.defer () का उपयोग कर सकते हैं; और deferrred.promise वापसी; फिर कॉलबैक फ़ंक्शंस में आप स्थगित.रेखे या स्थगित कॉल कर सकते हैं.रोलव अंत में आपके द्वारा बनाए गए नए वादे को हल करें। यदि आपके पास कई वादे हैं और आप जानना चाहते हैं कि उनका सबका समाधान कब हुआ है तो आप $ q.all का भी उपयोग कर सकते हैं।
Comments
Post a Comment