Я пытаюсь понять идею о том, что обещание, которое возвращает другое обещание, станет значением возврата. Это то, что я читал в Q-документах по вики. https://github.com/kriskowal/q#tutorialВложенные обещания с q-io
Его идеальная ситуация, поскольку я использую q-io/http, который использует обещание сделать запрос. Однако функция возвращает значение тела в новом обещании.
Вместо того, чтобы вставлять остальную часть моего кода в мою первую функцию. Я хочу получить уведомление, когда вложенное обещание будет завершено. Однако, из-за масштаба, я не могу это сделать. Но я продолжаю читать, что моя внешняя функция должна стать ценностью внутреннего обещания. Я что-то упускаю?
Ex.
module.exports = function (obj) {
var getFiles = HTTP.request(obj);
getFiles
.then(function(res) {
return res.body.read()
});
return getFiles;
};
Я хочу получать уведомления, когда res.body.read() выполняет свое обещание, используя Q.all(), но я не знаю, как получить это значение. Я чувствую, что getFiles должен стать тем внутренним обещанием. Правильно?
Попробуйте возвращенную выход 'getFiles.then()' от внешней функции. –
Спасибо Beetroot-Beetroot, ваш ответ определенно будет работать и в этой ситуации. – Adam
Адам, это то же самое решение, что и у Берги. Чтобы не допустить этого, я отказался от упрощения. Как вы можете видеть, цепочка методов делает назначение 'getFiles' ненужным. –