Javascript React native async/await不工作,行为异常

Javascript React native async/await不工作,行为异常,javascript,reactjs,react-native,async-await,fetch,Javascript,Reactjs,React Native,Async Await,Fetch,我有一个函数calcdistancebetweengogle,它通过传递坐标“to”和“from”来获取,应该返回两个坐标之间的距离 如果距离小于20000(20公里),则会将其插入阵列中 但它不能正常工作,它会在以后打印 我做错了什么 世博会示例: import React,{Component}来自'React'; 从“react native”导入{View,StyleSheet}; 导出默认类应用程序扩展组件{ 状态={}; componentDidMount(){ 这个.calc();

我有一个函数calcdistancebetweengogle,它通过传递坐标“to”和“from”来获取,应该返回两个坐标之间的距离

如果距离小于20000(20公里),则会将其插入阵列中

但它不能正常工作,它会在以后打印

我做错了什么

世博会示例:

import React,{Component}来自'React';
从“react native”导入{View,StyleSheet};
导出默认类应用程序扩展组件{
状态={};
componentDidMount(){
这个.calc();
}
calc(){
变量标记=[
{
id:'269849444',
名称:“Ziano Piacentino”,
拉脱维亚:45,
液化天然气:9.4,
},
{
id:'649296407',
名字:'邦登山',
纬度:46.0315,
液化天然气:11.05685,
},
{
id:'300151628',
名称:“Cima Calisio”,
纬度:46.0977158258,
液化天然气:11.1443512052,
},
{
id:'266239592',
名称:“意大利特伦蒂诺奥托阿迪奇三合一酒店”,
拉脱维亚:46.0667,
液化天然气:11.1333,
},
{
id:'1303194355778',
名称:“蒙特塞尔瓦”,
纬度:46.0695882,
液化天然气:11.1783065,
},
{
id:'217942785',
名称:“意大利特伦托”,
拉脱维亚:46.0667,
液化天然气:11.1333,
},
{
id:'478657266',
名称:'Mercatino di Natale a Levico Terme cittáda amare',
纬度:46.0099217576,
液化天然气:11.3052625593,
},
{
id:'288554028181059',
名称:'Fontana Del Nettuno,Trento',
纬度:46.0675553413,
液化天然气:11.1213752236,
},
{
id:'252747884',
名称:“米兰大教堂”,
纬度:45.4646680426,
液化天然气:9.1904055604,
},
{
id:'213183830',
名称:“皮亚琴察”,
纬度:45.0167,
液化天然气:9.66667,
},
{
id:'213183830',
姓名:'家',
纬度:45.0167,
液化天然气:9.66667,
},
];
var组=[];
对于(var i=0;i{

如果(el.dist首先,将
calc
声明为
async

async calc()
然后在嵌套循环中,在调用
calcdistancebetweenogle
时,使用
wait
等待响应

const el = await this.CalcDistanceBetweenGoogle(ci, cj);
if (el.dist <= 20000) {
    console.log(el);
    array.push(el.to);
}
const el=wait this.calcdistancebetween日志(ci,cj);

if(el.dist Thx,最后一件事。我在forEach中有相同的调用,但它似乎不起作用,我做了如下操作:a.forEach(async或=>{const el=wait this.calcdistancebetweengogle(center,o);…});我做错了什么?在看不到的情况下很难判断错误的语句。如果你能分享你的代码,这可能会有所帮助。顺便说一句,如果上面的语句是你当时写的,那么你在调用
this时犯了拼写错误。CalcDistanceBetweenGogle
,你将
o
而不是
const el = await this.CalcDistanceBetweenGoogle(ci, cj);
if (el.dist <= 20000) {
    console.log(el);
    array.push(el.to);
}