x-y*_*uri 6 javascript google-maps google-maps-api-3 promise deferred
Google Maps Javascript API应该以这种方式加载:
<script>
function initMap() {
console.log('loaded');
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap" async defer></script>
Run Code Online (Sandbox Code Playgroud)
如果我不得不回答我的问题,我会这样做:
var googleAPILoadedPromise = Promise.pending();
function initMap() {
googleAPILoadedPromise.resolve();
}
googleAPILoadedPromise.promise.then(function() {
console.log('loaded');
});
Run Code Online (Sandbox Code Playgroud)
但是延迟被弃用并且可能被认为是反模式,至少在蓝鸟中是这样.有没有更好的方法?
再想一想,我会这样做:
<script>
var resolvePromise = null;
var promise = new Promise(function(resolve, reject) {
resolvePromise = resolve;
});
promise.then(function() {
console.log('loaded');
});
</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=resolvePromise" async defer></script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1398 次 |
| 最近记录: |