Это не проблема реального мира, я просто пытаюсь понять, как создаются promises.
Мне нужно понять, как сделать обещание для функции, которая ничего не возвращает, например setTimeout.
Предположим, что у меня есть:
function async(callback){
setTimeout(function(){
callback();
}, 5000);
}
async(function(){
console.log('async called back');
});
Как создать обещание, которое async
может вернуть после того, как setTimeout
готов к callback()
?
Я предполагал, что это будет куда-то:
function setTimeoutReturnPromise(){
function promise(){}
promise.prototype.then = function() {
console.log('timed out');
};
setTimeout(function(){
return ???
},2000);
return promise;
}
Но я не могу думать об этом.