I want to work with promises but I have a callback API in a format like: ###1. DOM load or other one time event: window.onload; // set to callback ... window.onload = function() { }; ###2. Plain callback: function request(onChangeHandler) { ... } request(function() { // change happened ... }); ###3. Node style callback ("nodeback"): function getStuff(dat, callback) { ... } getStuff("dataParam", fu