-
-
Save watagashi/715743ad6a9bf9a0b083 to your computer and use it in GitHub Desktop.
javascript の ループ内での同期
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{"name": "静岡市立番町小学校", "address": "静岡市葵区新富町一丁目 23 番地の 1", "tel": "054-253-2148"}, | |
{"name": "静岡市立新通小学校", "address": "静岡市葵区駒形通二丁目 4 番 47 号", "tel": "054-252-1301"}, | |
{"name": "静岡市立駒形小学校", "address": "静岡市葵区南安倍二丁目 1 番 1 号", "tel": "054-252-3340"}, | |
{"name": "静岡市立安西小学校", "address": "静岡市葵区安西一丁目 96 番地の 3", "tel": "054-271-1551"}, | |
{"name": "静岡市立田町小学校", "address": "静岡市葵区田町五丁目 70 番地", "tel": "054-255-3428"}, | |
{"name": "静岡市立井宮小学校", "address": "静岡市葵区平和一丁目 7 番 1 号", "tel": "054-271-5288"}, | |
{"name": "静岡市立井宮北小学校", "address": "静岡市葵区上伝馬 2 番 1 号", "tel": "054-272-1326"}, | |
{"name": "静岡市立安倍口小学校", "address": "静岡市葵区安倍口新田 50 番地", "tel": "054-296-0005"}, | |
{"name": "静岡市立美和小学校", "address": "静岡市葵区遠藤新田 69 番地の 1", "tel": "054-296-0700"}, | |
{"name": "静岡市立足久保小学校", "address": "静岡市葵区足久保奥組 741 番地の 1", "tel": "054-296-0051"}, | |
{"name": "静岡市立伝馬町小学校", "address": "静岡市葵区伝馬町 14 番地の 2", "tel": "054-254-9185"}, | |
{"name": "静岡市立葵小学校", "address": "静岡市葵区城内町 7 番 9 号", "tel": "054-255-3471"}, | |
{"name": "静岡市立横内小学校", "address": "静岡市葵区緑町 1 番 1 号", "tel": "054-245-4695"}, | |
{"name": "静岡市立安東小学校", "address": "静岡市葵区安東三丁目 16 番 1 号", "tel": "054-245-2638"}, | |
{"name": "静岡市立竜南小学校", "address": "静岡市葵区竜南一丁目 23 番 1 号", "tel": "054-246-3061"}, | |
{"name": "静岡市立城北小学校", "address": "静岡市葵区北安東四丁目 27 番 3 号", "tel": "054-246-4111"}, | |
{"name": "静岡市立千代田小学校", "address": "静岡市葵区沓谷五丁目 47 番地の 1", "tel": "054-261-2685"}, | |
{"name": "静岡市立千代田東小学校", "address": "静岡市葵区川合三丁目 4 番 1 号", "tel": "054-262-1842"}, | |
{"name": "静岡市立北沼上小学校", "address": "静岡市葵区北沼上 1020 番地", "tel": "054-266-2021"}, | |
{"name": "静岡市立麻機小学校", "address": "静岡市葵区有永 421 番地の 1", "tel": "054-245-9826"}, | |
{"name": "静岡市立西奈小学校", "address": "静岡市葵区瀬名三丁目 23 番 1 号", "tel": "054-261-3041"}, | |
{"name": "静岡市立西奈南小学校", "address": "静岡市葵区南瀬名町 1 番 20 号", "tel": "054-263-5544"}, | |
{"name": "静岡市立賤機南小学校", "address": "静岡市葵区松富三丁目 1 番 46 号", "tel": "054-271-2335"}, | |
{"name": "静岡市立賤機中小学校", "address": "静岡市葵区牛妻 2095 番地の 2", "tel": "054-294-0003"}, | |
{"name": "静岡市立賤機北小学校", "address": "静岡市葵区俵沢 234 番地の 1", "tel": "054-294-0004"}, | |
{"name": "静岡市立松野小学校", "address": "静岡市葵区松野 598 番地の 2", "tel": "054-294-0002"}, | |
{"name": "静岡市立大河内小学校", "address": "静岡市葵区平野 1850 番地の 3", "tel": "054-293-2303"}, | |
{"name": "静岡市立梅ケ島小学校", "address": "静岡市葵区梅ケ島 1309 番地の 1", "tel": "054-269-2009"}, | |
{"name": "静岡市立玉川小学校", "address": "静岡市葵区落合 103 番地の 3", "tel": "054-292-2012"}, | |
{"name": "静岡市立井川小学校", "address": "静岡市葵区井川 708 番地の 1", "tel": "054-260-2004"}, | |
{"name": "静岡市立服織小学校", "address": "静岡市葵区羽鳥六丁目 9 番 1 号", "tel": "054-278-6322"}, | |
{"name": "静岡市立服織西小学校", "address": "静岡市葵区新間 759 番地の 1 の l", "tel": "054-278-9793"}, | |
{"name": "静岡市立南藁科小学校", "address": "静岡市葵区吉津 400 番地", "tel": "054-278-9734"}, | |
{"name": "静岡市立中藁科小学校", "address": "静岡市葵区大原 942 番地の 1", "tel": "054-279-0130"}, | |
{"name": "静岡市立中藁科小学校小布杉分校(休校)", "address": "静岡市葵区小布杉 1756 番地の 1", "tel": "054-270-1301"}, | |
{"name": "静岡市立水見色小学校", "address": "静岡市葵区水見色 1040 番地の 3", "tel": "054-279-0123"}, | |
{"name": "静岡市立清沢小学校", "address": "静岡市葵区相俣 99 番地の l", "tel": "054-295-3010"}, | |
{"name": "静岡市立峰山小学校", "address": "静岡市葵区黒俣 2741 番地の 16", "tel": "054-295-3131"}, | |
{"name": "静岡市立大川小学校", "address": "静岡市葵区日向 853 番地", "tel": "054-291-2004"}, | |
{"name": "静岡市立中田小学校", "address": "静岡市駿河区中田二丁目 14 番 1 号", "tel": "054-286-3245"}, | |
{"name": "静岡市立中島小学校", "address": "静岡市駿河区中島 2992 番地の 1", "tel": "054-283-4455"}, | |
{"name": "静岡市立大里東小学校", "address": "静岡市駿河区高松 2310 番地", "tel": "054-237-0879"}, | |
{"name": "静岡市立大里西小学校", "address": "静岡市駿河区中原 400 番地", "tel": "054-285-9195"}, | |
{"name": "静岡市立大谷小学校", "address": "静岡市駿河区大谷 3683 番地の 2", "tel": "054-237-0008"}, | |
{"name": "静岡市立久能小学校", "address": "静岡市駿河区古宿 213 番地の 2", "tel": "054-237-4744"}, | |
{"name": "静岡市立宮竹小学校", "address": "静岡市駿河区宮竹二丁目 12 番 1 号", "tel": "054-237-2231"}, | |
{"name": "静岡市立森下小学校", "address": "静岡市駿河区森下町 2 番 1 号", "tel": "054-286-3105"}, | |
{"name": "静岡市立東豊田小学校", "address": "静岡市駿河区池田 491 番地の 2", "tel": "054-262-1191"}, | |
{"name": "静岡市立西豊田小学校", "address": "静岡市駿河区曲金二丁目 8 番 80 号", "tel": "054-285-9165"}, | |
{"name": "静岡市立富士見小学校", "address": "静岡市駿河区登呂一丁目 1 番 1 号", "tel": "054-286-3165"}, | |
{"name": "静岡市立南部小学校", "address": "静岡市駿河区南八幡町 11 番 1 号", "tel": "054-286-8019"}, | |
{"name": "静岡市立東源台小学校", "address": "静岡市駿河区国吉田六丁目 7 番 45 号054-265-2500"}, | |
{"name": "静岡市立長田西小学校", "address": "静岡市駿河区丸子六丁目 15 番 65 号", "tel": "054-259-8256"}, | |
{"name": "静岡市立長田南小学校", "address": "静岡市駿河区広野四丁目 7 番 1 号", "tel": "054-259-6133"}, | |
{"name": "静岡市立長田東小学校", "address": "静岡市駿河区東新田三丁目 10 番 1 号054-259-7516"}, | |
{"name": "静岡市立長田北小学校", "address": "静岡市駿河区向敷地 890 番地", "tel": "054-258-2997"}, | |
{"name": "静岡市立川原小学校", "address": "静岡市駿河区下川原四丁目 14 番 1 号054-259-5911"}, | |
{"name": "静岡市立清水入江小学校", "address": "静岡市清水区追分二丁目 3 番 1 号", "tel": "054-366-6210"}, | |
{"name": "静岡市立清水浜田小学校", "address": "静岡市清水区浜田町 11 番 1 号", "tel": "054-353-6135"}, | |
{"name": "静岡市立清水岡小学校", "address": "静岡市清水区神田町 4 番 3 号", "tel": "054-353-3368"}, | |
{"name": "静岡市立清水船越小学校", "address": "静岡市清水区北矢部 831 番地の 1", "tel": "054-351-1804"}, | |
{"name": "静岡市立清水有度第一小学校", "address": "静岡市清水区有度本町 3 番 1 号", "tel": "054-345-0511"}, | |
{"name": "静岡市立清水有度第二小学校", "address": "静岡市清水区草薙杉道三丁目 19 番 1号", "tel": "054-345-2391"}, | |
{"name": "静岡市立清水小学校", "address": "静岡市清水区松井町 15 番 1 号", "tel": "054-353-3341"}, | |
{"name": "静岡市立清水不二見小学校", "address": "静岡市清水区新緑町 2 番 21 号", "tel": "054-334-2510"}, | |
{"name": "静岡市立清水駒越小学校", "address": "静岡市清水区駒越東町 2 番 20 号", "tel": "054-334-2331"}, | |
{"name": "静岡市立清水三保第一小学校", "address": "静岡市清水区三保 1069 番地の 1", "tel": "054-334-0721"}, | |
{"name": "静岡市立清水三保第二小学校", "address": "静岡市清水区折戸五丁目 8 番 2 号", "tel": "054-334-6364"}, | |
{"name": "静岡市立清水辻小学校", "address": "静岡市清水区辻四丁目 3 番 40 号", "tel": "054-365-5910"}, | |
{"name": "静岡市立清水江尻小学校", "address": "静岡市清水区江尻町 14 番 63 号", "tel": "054-366-6010"}, | |
{"name": "静岡市立清水飯田小学校", "address": "静岡市清水区下野中 2 番 40 号", "tel": "054-366-6091"}, | |
{"name": "静岡市立清水飯田東小学校", "address": "静岡市清水区八坂北一丁目 23 番 40号", "tel": "054-365-1444"}, | |
{"name": "静岡市立清水高部小学校", "address": "静岡市清水区押切 1115 番地の 2", "tel": "054-345-7010"}, | |
{"name": "静岡市立清水高部東小学校", "address": "静岡市清水区押切 1907 番地", "tel": "054-347-2861"}, | |
{"name": "静岡市立清水袖師小学校", "address": "静岡市清水区袖師町 420 番地", "tel": "054-366-7310"}, | |
{"name": "静岡市立清水庵原小学校", "address": "静岡市清水区庵原町 1723 番地", "tel": "054-365-3824"}, | |
{"name": "静岡市立清水興津小学校", "address": "静岡市清水区興津中町 350 番地の 1", "tel": "054-369-0185"}, | |
{"name": "静岡市立清水小島小学校", "address": "静岡市清水区小島町 619 番地", "tel": "054-393-2014"}, | |
{"name": "静岡市立清水小河内小学校", "address": "静岡市清水区小河内 2723 番地", "tel": "054-393-2044"}, | |
{"name": "静岡市立清水宍原小学校", "address": "静岡市清水区宍原 919 番地", "tel": "054-394-0341"}, | |
{"name": "静岡市立清水中河内小学校", "address": "静岡市清水区中河内 2583 番地の 1", "tel": "054-395-2241"}, | |
{"name": "静岡市立清水西河内小学校", "address": "静岡市清水区西里 143 番地", "tel": "054-395-2041"}, | |
{"name": "静岡市立清水和田島小学校", "address": "静岡市清水区和田島 611 番地", "tel": "054-395-2031"}, | |
{"name": "静岡市立蒲原東小学校", "address": "静岡市清水区蒲原 666 番地", "tel": "054-385-4155"}, | |
{"name": "静岡市立蒲原西小学校", "address": "静岡市清水区蒲原新田二丁目 25 番 1号", "tel": "054-385-4125"}, | |
{"name": "静岡市立由比小学校", "address": "静岡市清水区由比町屋原 329 番地", "tel": "054-375-2074"}, | |
{"name": "静岡市立由比北小学校", "address": "静岡市清水区由比入山 2158 番地", "tel": "054-375-3047"} | |
] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
var fs = require('fs'); | |
var program = require('commander'); | |
var GoogleMapsAPI = require('googlemaps'); | |
function sequenceTasks(tasks) { | |
function recordValue(results, value) { | |
results.push(value); | |
return results; | |
} | |
var pushValue = recordValue.bind(null, []); | |
return tasks.reduce(function(promise, task) { | |
return promise.then(task).then(pushValue); | |
}, Promise.resolve()); | |
} | |
var gapiConf = { | |
key: 'google API key', | |
secure: true | |
}; | |
var gmAPI = new GoogleMapsAPI(gapiConf); | |
var geocodeParams = { | |
language: 'ja', | |
region: 'ja' | |
}; | |
var data = JSON.parse(fs.readFileSync('data.json')); | |
var outputFile = 'data.json.out'; | |
function getLocation(data, i) { | |
return function() { | |
return new Promise(function(resolve, reject) { | |
var address = data[i].address; | |
geocodeParams.address = address; | |
gmAPI.geocode(geocodeParams, function(err, result) { | |
setTimeout(function() { | |
if (err) { | |
console.error('[' + i + ']', 'Parse failed: ', address); | |
reject(err); | |
} else { | |
var location = result.results[0].geometry.location; | |
console.log('[' + i + ']',location); | |
resolve(location); | |
} | |
}, 1000); | |
}); | |
}); | |
}; | |
} | |
var tasks = []; | |
for (var i = 0; i < data.length; i++) { | |
tasks.push(getLocation(data, i)); | |
} | |
sequenceTasks(tasks).catch(function(e) { | |
console.error(e); | |
}); | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
node index.js | |
[87] { lat: 34.9701904, lng: 138.3771102 } | |
[87] { lat: 34.9917489, lng: 138.3834423 } | |
[87] { lat: 35.0649036, lng: 138.3698146 } | |
[87] { lat: 35.1485588, lng: 138.3613304 } | |
[87] { lat: 34.9794353, lng: 138.315311 } | |
[87] { lat: 34.9753621, lng: 138.3912894 } | |
[87] { lat: 35.0223814, lng: 138.359808 } | |
[87] { lat: 35.0144823, lng: 138.3747206 } | |
[87] { lat: 35.0046502, lng: 138.3686989 } | |
[87] { lat: 34.957862, lng: 138.4564726 } | |
[87] { lat: 34.9517319, lng: 138.4174905 } | |
[87] { lat: 34.9884438, lng: 138.3667689 } | |
[87] { lat: 34.9569531, lng: 138.3863765 } | |
[87] { lat: 34.9713237, lng: 138.3929615 } | |
[87] { lat: 34.9936501, lng: 138.3077282 } | |
[87] { lat: 35.0027837, lng: 138.3879333 } | |
[87] { lat: 35.0918953, lng: 138.5151726 } | |
[87] { lat: 35.1082951, lng: 138.5576241 } | |
[87] { lat: 35.0131548, lng: 138.4829921 } | |
[87] { lat: 35.0300582, lng: 138.3684211 } | |
[87] { lat: 34.9410745, lng: 138.3995646 } | |
[87] { lat: 34.9548317, lng: 138.4292837 } | |
[87] { lat: 35.1086174, lng: 138.4806404 } | |
[87] { lat: 34.9990594, lng: 138.396316 } | |
[87] { lat: 35.0518804, lng: 138.4752169 } | |
[87] { lat: 35.0069824, lng: 138.4531977 } | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] { lat: 34.9908906, lng: 138.5165253 } | |
[87] { lat: 34.9860942, lng: 138.3928917 } | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] | |
[87] { lat: 34.960642, lng: 138.4099187 } | |
[87] { lat: 35.0010535, lng: 138.522188 } | |
[87] { lat: 34.9462987, lng: 138.3504078 } | |
[87] { lat: 35.0295435, lng: 138.4499279 } | |
[87] { lat: 34.9624111, lng: 138.4031109 } | |
[87] { lat: 35.0548583, lng: 138.5259341 } | |
[87] { lat: 34.9638718, lng: 138.3923452 } | |
[87] Parse failed: 静岡市清水区由比入山 2158 番地 | |
[TypeError: Cannot read property 'geometry' of undefined] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment