Как преобразовать существующий API обратного вызова в обещания?
Я хочу работать с обещаниями, но у меня есть API обратного вызова в таком формате:
1. Загрузка DOM или другое одноразовое событие:window.onload; // set to callback
...
window.onload = function() {
};
2. Простой обратный вызов:function request(onChangeHandler) {
...
}
request(function() {
// change happened
...
});
3. Обратный вызов стиля узла («nodeback»):function getStuff(dat, callback) {
...
}
getStuff("dataParam", function(err, data) {
...
})
4. Целая библиотека с обратными вызовами в стиле узла:API;
API.one(function(err, data) {
API.two(function(err, data2) {
API.three(function(err, data3) {
...
});
});
});
Как мне работать с API в обещаниях, как его «обещать»?