首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript异步函数

javascript异步函数
EN

Stack Overflow用户
提问于 2017-03-11 22:38:16
回答 1查看 44关注 0票数 1

我是javascript的新手,我想用google地图api检查一些数据,但是函数的异步执行要了我的命,我也不太明白回调是如何工作的。我试过了,但没成功。

代码语言:javascript
复制
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();
        }
    });
}

在第二个函数中:

代码语言:javascript
复制
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完成后再继续,但它似乎不起作用。

EN

回答 1

Stack Overflow用户

发布于 2017-03-11 23:00:20

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42736474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档