मैं थोड़ी देर के लिए इसके साथ संघर्ष कर रहा हूं। मैं जावास्क्रिप्ट के लिए नया हूं, और इस धारणा के तहत रहा हूं कि जिस कोड को मैं लिख रहा हूं वह असीमित रूप से चल रहा है। यहां एक सामान्य उदाहरण दिया गया है:जावास्क्रिप्ट वापसी मूल्यों के लिए प्रतीक्षा नहीं कर रहा है
मैं फ़ंक्शन ए में कुछ कोड चलाता हूं। फ़ंक्शन ए फिर फंक्शन बी को कॉल करता है, जिसे ए को एक वैरिएबल वापस करने की आवश्यकता होती है, ए इसे बाद के परिचालनों में उपयोग कर सकता है। ऐसा लगता है कि जब ए कॉल बी करता है, तब भी यह अपने कोड को जारी रखता है, इसके वापसी मूल्य के लिए अवरुद्ध इंतजार नहीं कर रहा है, और बी पर्याप्त तेज़ नहीं है कि एक बिंदु उस बिंदु तक पहुंच जाता है जहां उसे वापसी का उपयोग करने की आवश्यकता होती है मान और मुझे अपरिभाषित चर प्रकार त्रुटि मिलती है।
जिस तरह से मैंने इस बारे में काम किया है, उसके पास एक फंक्शन सी है जिसमें फिर एक फंक्शन सी कहा जाता है जो बाद के ऑपरेशन करेगा जो ए रिटर्न वैल्यू के साथ कर रहा होगा .... मैं तरह का क्रमबद्ध हूं रिटर्न के बजाय कॉल के माध्यम से अपने कोड ... कि बोझिल हालांकि है ...
यहाँ जब यह वास्तविक कोड में क्या होता है का एक उदाहरण है:
function initialize() {
//Geocode Address to obtin Lat and Long coordinates for the starting point of our map
geocoder = new google.maps.Geocoder();
var results = geocode(geocoder);
makeMap(results[0].geometry.location.lat(), results[0].geometry.location.lng());
}
function geocode(geocoder) {
//do geocoding here...
var address = "3630 University Street, Montreal, QC, Canada";
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
return results;
}
else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
function makeMap(lat, long) {
// alert(lat); for debuging
var mapOptions = {
center: new google.maps.LatLng(lat, long),
zoom: 17,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
}
नोट: इनिशियलाइज़ शरीर ऑनलोड से बुलाया जाता है = "मेरे एचटीएमएल में प्रारंभ करें()"।
तो मुद्दा यह है कि मेकमैप को जियोकोड फ़ंक्शन द्वारा प्राप्त अक्षांश और देशांतर मानों की आवश्यकता होती है, लेकिन मुझे कंसोल में एक त्रुटि मिलती है कि परिणाम अपरिभाषित हैं। क्या हो रहा है? मैं जावा से आया था इसलिए मैं जेएस में डेटा प्रवाह कैसे हो रहा है, इस बारे में थोड़ा उलझन में हूं! भविष्य के लिए यह मूल्यवान सबक होगा!
एक तरफ प्रश्न: मुझे बाहरी कार्यों में अपने कार्यों को कैसे विभाजित करना चाहिए? अच्छा अभ्यास क्या माना जाता है? क्या मेरे सभी कार्यों को एक बाहरी .js फ़ाइल में क्रैम किया जाना चाहिए या क्या मुझे एक साथ कार्यों की तरह समूह करना चाहिए?
ठीक है, धन्यवाद, मैं यहां नया हूं! –