1 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
由于searchFunction是一個(gè)async函數(shù),因此您需要使用 來(lái)調(diào)用它await。并且await只能在async函數(shù)內(nèi)部調(diào)用,這就是為什么你需要?jiǎng)?chuàng)建callback一個(gè)async函數(shù)。
return另外,您需要從回調(diào)中執(zhí)行
嘗試這個(gè):
const geocode_res = await geocode(searchLocation, async ({ latitude, longitude }) => {
return await searchFunction(latitude, longitude)
})
您還需要從地理編碼函數(shù)返回。以便可以將返回值填充到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}`)
}
},
添加回答
舉報(bào)