gpt4 book ai didi

javascript - promise 加入改变 promise 所有

转载 作者:行者123 更新时间:2023-11-29 21:37:17 25 4
gpt4 key购买 nike

我读到 promise join 已被弃用 http://bluebirdjs.com/docs/api/promise.join.html

我的问题是

  • 我应该如何更改此代码以 promise 所有,如果有更好编写此代码的方法(代码正在运行!)但我想得到您的反馈,但代码应具有与以下相同的逻辑
  • 有一个使用 bluebird Node js 的工具,它可以跟踪我是否有未完成的 promise 链

createProc = function (fPath) {
"use strict";
return Promise.join(
fs.readFileAsync(fPath, 'utf8')
.then(function (content) {
return parseFile(content).getWeb();
}),
scan.findInUseAsync(12, 152, 'localhost')
.then(envOptions.mod.bind(null, process.env))
).then(function (args) {
return inter.Process('run', args[0], args[1]);
}).then(function (result) {
return result.stdout;
}, function (error) {
return error;
});
};

最佳答案

如果您想切换到 Promise.all(),它只需要一个 promise 数组作为参数并且不接受回调(无论如何您都不会使用)。因此,您所要做的就是将您传递的两个 promise 包装在一个数组中:

createProc = function (fPath) {
"use strict";
return Promise.all([
// added here ^
fs.readFileAsync(fPath, 'utf8')
.then(function (content) {
return parseFile(content).getWeb();
}),
scan.findInUseAsync(12, 152, 'localhost')
.then(envOptions.mod.bind(null, process.env))
]).then(function (args) {
return inter.Process('run', args[0], args[1]);
}).then(function (result) {
return result.stdout;
}, function (error) {
return error;
});
};

关于javascript - promise 加入改变 promise 所有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34513640/

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