gpt4 book ai didi

JavaScript 异步函数

转载 作者:行者123 更新时间:2023-11-28 04:53:16 25 4
gpt4 key购买 nike

我是 javascript 新手,我想使用谷歌地图 api 检查一些数据,但是这种异步执行函数让我很苦恼,而且我不太明白回调是如何工作的。尝试过但没有成功。

function initMap(a, callback) {
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: [punktpocz[a], punktpocz[a + 1]],
destinations: [punktkonc[a], punktkonc[a + 1]],
travelMode: 'DRIVING',
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, function (response, status) {
if (status !== 'OK') {
alert('Error was: ' + status);
} else {
var originList = response.originAddresses;
var destinationList = response.destinationAddresses;
for (var i = 0; i < originList.length; i++) {
var results = response.rows[i].elements;
for (var j = 0; j < results.length; j++) {
theDiv.innerHTML += originList[i] + ' to ' + destinationList[j] +
': ' + results[j].distance.text + ' in ' +
results[j].duration.text + '<br>';
wynik.push({ odl: results[j].distance.text, czas: results[j].duration.text });
}
}
callback();
}
});
}

在第二个函数中:

for(i=0;i<czasmax;i++){     
...
punktpocz.push(kie[id-1]);
punktkonc.push(biz[parseInt(zleceniajava[z+1])]);
punktpocz.push(biz[parseInt(zleceniajava[z+1])]);
punktkonc.push( zle[ parseInt(zleceniajava[z])] );

initMap(i*2,function(){
console.log('huzzah, I\'m done!');
});
...
}

我希望脚本等到 initmap 完成才能继续,但它似乎不起作用。

最佳答案

您可能会考虑使用 promise (我之前有过类似的问题: Javascript Promise/Then Example )或使用 async.js

( Node.js | MongoDB count(): Getting Count Before and After Inserting Data )

关于JavaScript 异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42736474/

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