Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
228 views
in Technique[技术] by (71.8m points)

javascript - error: await is only valid in async function

I keep getting this error "await is only valid in async function". Does anyone know where can be a problem?

$(document).ready(() => {

const getIso = async (latitude, longitude) => {

        let newIso = await $.ajax({
            url: `https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=${latitude}&lon=${longitude}`,
            lat: latitude,
            lon: longitude,
            datatype: 'jsonv2',
        });
        const iso = newIso.address.country_code;
        console.log(iso); // workds
        return newIso;
    };

    navigator.geolocation.getCurrentPosition(function (position) {
        const latitude = position.coords.latitude;
        const longitude = position.coords.longitude;
        getIso(latitude, longitude);
    });

    let lol = await getIso();
    console.log(lol);

});
question from:https://stackoverflow.com/questions/65865215/error-await-is-only-valid-in-async-function

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Your error is comming from line:

let lol = await getIso();

because this line is inside this function:

$(document).ready(() => {

which is not an async function.

await is a reserved word that only works inside async functions


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...