Google Maps JavaScript API में मौजूद असाइनोक्रोनस तरीके, Promises दिखाते हैं.
सहायता
एपीआई | ऐसे तरीके जो Promises दिखाते हैं |
---|---|
रास्ता | हां |
Distance Matrix | हां |
ऊंचाई | हां |
जियोकोडर | हां |
ज़्यादा से ज़्यादा ज़ूम की गई इमेज | हां |
जगहें | नहीं |
जगहों के लिए ऑटोकंप्लीट की सुविधा | कुछ हिस्सा1 |
Streetview | हां |
इस्तेमाल
Promises का इस्तेमाल करने के बारे में यह गाइड देखें. इसके अलावा, Google Maps JavaScript API की मदद से एसिंक्रोनस तरीके से कॉल करने के बारे में नीचे दिए गए उदाहरण देखें.
एक साथ काम नहीं करने वाली प्रोसेस और await
await ऑपरेटर का इस्तेमाल, किसी प्रॉमिस के पूरा होने का इंतज़ार करने के लिए किया जाता है. इसका इस्तेमाल सिर्फ़ किसी असाइनिक फ़ंक्शन में किया जा सकता है.
const app = async () => {
const elevationService = google.maps.ElevationService();
const locations = [{lat: 27.986065, lng:86.922623}];
const response = await elevationService.getElevationForLocation({locations});
console.log(response.results);
};
app();
इसके बाद, उसे पकड़ें और आखिर में
Promise ऑब्जेक्ट में then
, catch
, और finally
ऐसे मेथड होते हैं जो कॉलबैक फ़ंक्शन लेते हैं.
const elevationService = google.maps.ElevationService();
const locations = [{lat: 27.986065, lng:86.922623}];
const promise = elevationService.getElevationForLocation({locations});
promise
.then((response) => {
console.log(response.results);
})
.catch((error) => {
console.log(error);
});
.finally(() => {
console.log('done');
});
एक साथ काम नहीं करने वाला कॉलबैक पैटर्न
कॉलबैक पैटर्न अब भी मान्य है और इसका इस्तेमाल किया जा सकता है.
const elevationService = google.maps.ElevationService();
const locations = [{lat: 27.986065, lng:86.922623}];
const callback = (results, status) => {
if (status === 'OK') {
console.log(results);
} else {
// handle this case
}
};
elevationService.getElevationForLocation({locations}, callback);
-
फ़िलहाल, प्रॉमिस सिर्फ़
getPlacePredictions()
में काम करता है. ↩