Skip to content

Instantly share code, notes, and snippets.

View willwhite's full-sized avatar

Will White willwhite

View GitHub Profile
<!DOCTYPE HTML>
<html>
<head>
<script src="http://www.webglearth.com/api.js"></script>
<style type="text/css" media="screen">
#earth_div {
width:600px;
height:400px;
border:1px solid gray;
padding:2px;
<!DOCTYPE html>
<html>
<head>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no' />
<script src='//api.tiles.mapbox.com/mapbox.js/v1.3.1/mapbox.js'></script>
<link href='//api.tiles.mapbox.com/mapbox.js/v1.3.1/mapbox.css' rel='stylesheet' />
<!--[if lte IE 8]>
<link href='//api.tiles.mapbox.com/mapbox.js/v1.3.1/mapbox.ie.css' rel='stylesheet' >
<![endif]-->
<style>
@willwhite
willwhite / parallel.js
Last active December 28, 2015 19:19
Simple async in JavaScript
(function load(items, callback) {
var loaded = new Array(items.length);
var error;
items.forEach(function(item, i) {
getWidget(item, function(err, obj) {
error = error || err;
loaded[i] = err || obj;
if (loaded.filter(function(n) { return n; }).length === loaded.length) {
callback(error, loaded);
}
var concurrency = 100;
var http = require('http');
http.globalAgent.maxSockets = concurrency;
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
for (var i = 0; i < concurrency; i++) {
s3.listBuckets(callback);