我试图理解承诺返回另一个承诺成为回报价值的想法。这就是我在wiki上的Q文档中阅读的内容。 https://github.com/kriskowal/q#tutorialq-io嵌套承诺
它是理想的情况,因为我使用q-io/http使用promise来发出请求。但是,函数返回新承诺中的正文的值。
而不是将我的代码的其余部分嵌入到我的第一个函数中。我希望在嵌套承诺完成时收到通知。但是,由于范围,我似乎无法做到。但我一直在读,我的外在功能应该成为内在承诺的价值。我错过了什么吗?
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的'从外部函数的输出()'。 –
谢谢甜菜根 - 甜菜根,你的答案肯定会在这种情况下工作。 – Adam
Adam,和Bergi的解决方案一样。为了保持简短,我省略了简化。正如你所看到的,方法链接使得对'getFiles'的赋值是不必要的。 –