[英]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);
});
Your error is comming from line:您的错误来自以下行:
let lol = await getIso();
because this line is inside this function:因为这条线在这个 function 里面:
$(document).ready(() => {
which is not an async function.这不是异步 function。
await is a reserved word that only works inside async functions await 是一个保留字,仅适用于异步函数
Make your onready function async让你准备好的 function 异步
$(document).ready(async () => { 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); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.