| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 | function sleep(ms) {return new Promise(resolve => setTimeout(resolve, ms));
 }
 
 async function demo() {
 console.log('Taking a break...');
 await sleep(2000);
 console.log('Two seconds later, showing sleep in a loop...');
 
 // Sleep in loop
 for (let i = 0; i < 5; i++) {
 if (i === 3)
 await sleep(2000);
 console.log(i);
 }
 }
 
 demo();
 
 | 
via https://stackoverflow.com/questions/951021/what-is-the-javascript-version-of-sleep
layer chnage source
其实是重建
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | function setLayerSource (layerId, source, sourceLayer) {const oldLayers = map.getStyle().layers;
 const layerIndex = oldLayers.findIndex(l => l.id === layerId);
 const layerDef = oldLayers[layerIndex];
 const before = oldLayers[layerIndex + 1] && oldLayers[layerIndex + 1].id;
 layerDef.source = source;
 if (sourceLayer) {
 layerDef['source-layer'] = sourceLayer;
 }
 map.removeLayer(layerId);
 map.addLayer(layerDef, before);
 }
 
 | 
https://github.com/mapbox/mapbox-gl-js/issues/1722