Я посмотрел на множество реализаций, и все они выглядят настолько разными, что я не могу отличить, какова сущность обещания.
Если бы мне пришлось угадать, это просто функция, которая запускается при срабатывании обратного вызова.
Может ли кто-то реализовать самое основное обещание в нескольких строках кода без связи.
Например, из этого answer
Фрагмент 1
var a1 = getPromiseForAjaxResult(ressource1url);
a1.then(function(res) {
append(res);
return a2;
});
Как функция, переданная then
, знает, когда ее запускать.
То есть, как он возвращается обратно к коду обратного вызова, который запускает ajax при завершении.
Фрагмент 2
// generic ajax call with configuration information and callback function
ajax(config_info, function() {
// ajax completed, callback is firing.
});
Как связаны эти два фрагмента?
Guess:
// how to implement this
(function () {
var publik = {};
_private;
publik.then = function(func){
_private = func;
};
publik.getPromise = function(func){
// ??
};
// ??
}())