gpt4 book ai didi

javascript - Javascript Promise 中的动态链接

转载 作者:行者123 更新时间:2023-12-03 02:57:31 25 4
gpt4 key购买 nike

如何在 Javascript Promises 中执行动态链接,我一直只看到对例如 (promise).then(request/functionName).then 的调用进行硬编码(请求/函数名称)

最佳答案

给定一个全部返回 Promise 的数组函数,您可以使用 reduce() 顺序运行它们:

var myAsyncFuncs = [
function (val) {return Promise.resolve(val + 1);},
function (val) {return Promise.resolve(val + 2);},
function (val) {return Promise.resolve(val + 3);},
];

myAsyncFuncs.reduce(function (prev, curr) {
return prev.then(curr);
}, Promise.resolve(1))
.then(function (result) {
console.log('RESULT is ' + result); // prints "RESULT is 7"
});

上面的示例使用 ES6 Promises但所有 Promise 库都有类似的功能。

此外,创建 Promise 返回函数数组通常是使用 map() 的良好选择。例如:

myNewOrmModels.map(function (model) {
return model.save.bind(model);
}).reduce(function (prev, curr) {
return prev.then(curr);
}, Promise.resolve())
.then(function (result) {
console.log('DONE saving');
});

关于javascript - Javascript Promise 中的动态链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30853265/

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