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]); }); } |
Я это понимаю. Я не понимаю что делает этот "pong", зачем он нужен? Получается handler будет "pong", но что он делает?
|
Часовой пояс GMT +3, время: 19:44. |