Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.06.2018, 12:04
Аспирант
Отправить личное сообщение для VyacheslavBozere Посмотреть профиль Найти все сообщения от VyacheslavBozere
 
Регистрация: 18.03.2018
Сообщений: 31

11 глава в EloquentJavaScript
Всех приветсвую! Помогите пож-та разобраться с примером в учебнике EloquentJavaScript(Выразительный JavaScript) http://eloquentjavascript.net/11_async.html.
Застрял на 11 главе, заголовки Networks are hard; Collection of Promises.
Функция requestType(name, handler) устанавливает тип файла в сети компьютеров Воронов. Name это тип файла, handler обработчик который обернут в Promise, последний возвращается в виде значения или ошибки callback функции, которая является аргументом функции DefineRequestType. Я не могу понять как это используется на практике. В следующей главе автор предлагает определить тип файла requestType("ping", () => "pong") а обработчик будет "pong".
Получается что "pong" будет handler и в чем смысл ?

function requestType(name, handler) {
  defineRequestType(name, (nest, content, source,
                           callback) => {
    try {
      Promise.resolve(handler(nest, content, source))
        .then(response => callback(null, response),
              failure => callback(failure));
    } catch (exception) {
      callback(exception);
    }
  });
}


requestType("ping", () => "pong");

function availableNeighbors(nest) {
  let requests = nest.neighbors.map(neighbor => {
    return request(nest, neighbor, "ping")
      .then(() => true, () => false);
  });
  return Promise.all(requests).then(result => {
    return nest.neighbors.filter((_, i) => result[i]);
  });
}
Ответить с цитированием
  #2 (permalink)  
Старый 03.06.2018, 16:01
Аспирант
Отправить личное сообщение для VyacheslavBozere Посмотреть профиль Найти все сообщения от VyacheslavBozere
 
Регистрация: 18.03.2018
Сообщений: 31

Я это понимаю. Я не понимаю что делает этот "pong", зачем он нужен? Получается handler будет "pong", но что он делает?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05