1 回答
TA贡献1810条经验 获得超4个赞
由于searchFunction是一个async函数,因此您需要使用 来调用它await。并且await只能在async函数内部调用,这就是为什么你需要创建callback一个async函数。
return另外,您需要从回调中执行
尝试这个:
const geocode_res = await geocode(searchLocation, async ({ latitude, longitude }) => {
return await searchFunction(latitude, longitude)
})
您还需要从地理编码函数返回。以便可以将返回值填充到geocode_res
async geocode(location, callback) {
try{
const GEO_URL = `https://api.mapbox.com/geocoding/v5/mapbox.places/${location}.json?access_token=${process.env.MAPBOX_API}`;
let results = await axios.get(GEO_URL)
const latLong = results.data.features[0].center
// add return here
return callback({
latitude: latLong[1],
longitude: latLong[0]
})
}catch(error){
console.log(` ${error}`)
}
},
添加回答
举报