如何使用promise(使用promise中的resolve方法)返回reverseGeocodeData
的值?
geocoder.reverseGeocode(33.7489, -84.3789,function (err, reverseGeocodeData){
//something;
},
// Reverse Geocoding
return new Promise(function(resolve,reject){
resolve();
});
答案 0 :(得分:0)
你必须在goecoder的回调中解决或拒绝承诺......
return new Promise(function(resolve, reject) {
geocoder.reverseGeocode(33.7489, -84.3789, function (err, reverseGeocodeData) {
if(err) return reject(err);
resolve(reverseGeocodeData);
});
});
答案 1 :(得分:-1)
这是使用bluebird.js(http://bluebirdjs.com/docs/api/promise.promisify.html)
的示例var Promise = require('bluebird');
var reverseGeocodePromise = Promise.promisify(geocoder.reverseGeocode);
reverseGeocodePromise(33.7489, -84.3789)
.then(function(result) {
// do something;
})
.catch(function(err) {
// handle error
})