第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在獲取請(qǐng)求中調(diào)用時(shí),回調(diào)返回未定義

在獲取請(qǐng)求中調(diào)用時(shí),回調(diào)返回未定義

明月笑刀無(wú)情 2023-08-05 19:27:41
我可以控制臺(tái)記錄兩者results.data.features,results.data.features[0].center當(dāng)我控制臺(tái)時(shí),results.data.features[0].center它顯示該位置的數(shù)據(jù),但是當(dāng)我在.get請(qǐng)求中調(diào)用它時(shí),它返回未定義。我不確定我做錯(cuò)了什么,任何指導(dǎo)都會(huì)有很大的幫助!   router.get('/api/search/:location', async (req, res) => {    const searchLocation = req.params.location;    const geocode_res = await geocode(searchLocation, ({ latitude, longitude }) => {       searchFunction(latitude, longitude)    })    console.log(geocode_res)    res.send(geocode_res)    })    module.exports = {    async searchFunction(latitude, longitude){        const URL = `https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&latitude=${latitude}&longitude=${longitude}&maxradiuskm=50`        try {            let results = await axios.get(URL)            return results.data.features        } catch (err) {            console.log(`${err}`)        }    },        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            callback({                        latitude: latLong[1],                        longitude: latLong[0]                    })        }catch(error){            console.log(` ${error}`)        }        },}
查看完整描述

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}`)

    }


},


查看完整回答
反對(duì) 回復(fù) 2023-08-05
  • 1 回答
  • 0 關(guān)注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)