gpt4 book ai didi

javascript - 使用 q-io 嵌套 promise

转载 作者:可可西里 更新时间:2023-11-01 17:10:28 26 4
gpt4 key购买 nike

我正在尝试理解这样一个想法,即返回另一个 promise 的 promise 成为返回的值(value)。这就是我在 wiki 上的 Q 文档中读到的内容。 https://github.com/kriskowal/q#tutorial

这是理想情况,因为我使用的是 q-io/http,它使用 promise 来发出请求。但是,该函数在新的 promise 中返回正文的值。

而不是将我的其余代码嵌套在我的第一个函数中。我想在嵌套 promise 完成时收到通知。但是,由于范围,我似乎无法做到。但我一直读到我的外部函数应该成为内部 promise 的值(value)。我错过了什么吗?

例如

module.exports = function (obj) {
var getFiles = HTTP.request(obj);

getFiles
.then(function(res) {
return res.body.read()
});
return getFiles;
};

我想在 res.body.read() 使用 Q.all() 履行其 promise 时收到通知,但我不知道如何获得该值。我觉得 getFiles 应该成为内心的 promise 。对吧?

最佳答案

I feel like getFiles should become that inner promise. Right?

没有。 promise 不会改变它的值(value)。但是,.then 方法确实返回一个新的 promise ,该 promise 将通过“内部 promise ”read 方法(将在 getFiles 时调用)的结果来解析 已解决)。

您可以将代码缩短为

module.exports = function (obj) {
return HTTP.request(obj).then(function(res) {
return res.body.read()
});
};

关于javascript - 使用 q-io 嵌套 promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20464026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com