Skip to content

Instantly share code, notes, and snippets.

@JamieMason
JamieMason / asyncMap.js
Last active November 22, 2018 19:16
Map over an Array using an asynchronous handler, maintaining a pool of concurrent handlers to be pending at all times until the Array is fully processed (as opposed to waiting until each async handler has finished before calling the next).
/**
* Map over an Array using an asynchronous handler, maintaining a pool of concurrent handlers to be pending at all times until the Array is fully processed (as opposed to waiting until each async handler has finished before calling the next).
*
* @param {Array} list
* @param {Function} handler Called on each iteration (done:Function, element:Mixed, index:Number, list:Array)
* @param {Number} [options.maxConcurrent=5] The maximum number of handlers which can be running concurrently
* @param {Function} [options.done] Called once every handler has responded (responses:Array)
* @return {Array} The Array which is being populated with the values passed by handler to done()
*/
exports.map = function (list, handler, options) {
@bradmontgomery
bradmontgomery / dummy-web-server.py
Last active April 15, 2024 14:27
a minimal http server in python. Responds to GET, HEAD, POST requests, but will fail on anything else.
#!/usr/bin/env python
"""
Very simple HTTP server in python (Updated for Python 3.7)
Usage:
./dummy-web-server.py -h
./dummy-web-server.py -l localhost -p 8000
Send a GET request: