【发布时间】:2013-12-09 14:14:52
【问题描述】:
我试图理解返回另一个承诺的承诺成为回报的价值的想法。这就是我在 wiki 上的 Q 文档中读到的内容。 https://github.com/kriskowal/q#tutorial
这是理想的情况,因为我使用的是 q-io/http,它使用 promise 来发出请求。但是,该函数在新的 Promise 中返回正文的值。
而不是将其余代码嵌套在我的第一个函数中。我希望在嵌套承诺完成时收到通知。但是,由于范围,我似乎无法做到。但我一直在阅读,我的外部功能应该成为内部承诺的价值。我错过了什么吗?
例如
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,这和 Bergi 的解决方案一样。为了简短起见,我省略了简化。如您所见,方法链接使得分配给
getFiles是不必要的。 -
明白了。完全有道理。再次感谢...
标签: javascript node.js http promise q