Разве обещания не являются просто обратными вызовами?

Я разрабатывал JavaScript в течение нескольких лет, и я совсем не понимаю суеты по поводу обещаний.

Кажется, что все, что я делаю, это изменяю:

api(function(result){
    api2(function(result2){
        api3(function(result3){
             // do work
        });
    });
});

В любом случае я мог бы использовать библиотеку, подобную async , с чем-то вроде:

api().then(function(result){
     api2().then(function(result2){
          api3().then(function(result3){
               // do work
          });
     });
});

Который более кодовый и менее читаемый. Я ничего не получил здесь, это не внезапно волшебно "плоский" также. Не говоря уже о необходимости превращать вещи в обещания.

Итак, в чем суета обещаний?

401
задан Benjamin Gruenbaum 20 March 2014 в 05:55
поделиться