gpt4 book ai didi

javascript - 我在此处 map 中为每个用户查找路由服务时遇到问题

转载 作者:行者123 更新时间:2023-11-30 06:20:42 25 4
gpt4 key购买 nike

我正在使用这里的 map 来查找多个用户和目的地的路线。我在搜索栏中输入纽约并点击搜索按钮,假设 api 返回十个用户的数组。现在我想为每个用户获取路由服务。

for(var i=0; i< aws_data.length; i++)
{

aws_possition =
{
lat: aws_data[i].lat,
lng: aws_data[i].lng
};
lat2 = aws_possition.lat;
lng2 = aws_possition.lng;

var router = platform.getRoutingService(),
parameters = {
waypoint0: lat1+","+lng1,
waypoint1: lat2+","+lng2,
mode: 'fastest;car;traffic:enabled',
departure: 'now'
};
}

现在,当我运行这段代码时,platform.getRoutingService 在给我每个用户的结果之前运行了 10 次。 这是我完整的 for 循环代码。

   for(var i=0; i< aws_data.length; i++)
{

aws_possition =
{
lat: aws_data[i].lat,
lng: aws_data[i].lng
};
lat2 = aws_possition.lat;
lng2 = aws_possition.lng;

var router = platform.getRoutingService(),
parameters = {
waypoint0: lat1+","+lng1,
waypoint1: lat2+","+lng2,
mode: 'fastest;car;traffic:enabled',
departure: 'now'
};
console.log(parameters);
//debugger;
router.calculateRoute(parameters,
function (result) {

}


}

最佳答案

您好 Farrakh,欢迎来到 Stack Overflow。如果您使用 this API然后你可以将你的数据映射到 promise (请注意,需要为 IE 和(非常)旧的浏览器修改 promise )

const router = platform.getRoutingService(),
waypoint1 = aws_possition.lat + ',' + aws_possition.lng,
mode = 'fastest;car;traffic:enabled',
departure = 'now';
Promise.all(
aws_data.map(
({ lat, lng, id }) =>
console.log(`processing ${id}`) ||
new Promise((resolve, reject) =>
router.calculateRoute(
{
waypoint0: lat + ',' + lng,
waypoint1,
mode,
departure,
},
(result)=>resolve([id,result]),
reject,
),
),
),
).then(
(results) => console.log('I have results:', results),
(error) => console.log('something went wrong:', error),
);

关于javascript - 我在此处 map 中为每个用户查找路由服务时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53283695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com