gpt4 book ai didi

javascript - 从 Callback hell 转换为 Promise

转载 作者:行者123 更新时间:2023-12-03 02:04:45 29 4
gpt4 key购买 nike

我一直在学习如何使用回调和愚蠢的回调 hell 。

这是我创建的示例:https://jsfiddle.net/1donpcvv/

它正在按预期工作。 step1() 必须首先完成,然后继续 step2(),最后是 step3()

我正在尝试转换为 promise ,但我正在努力使其发挥作用。我做错了什么?

JS:

function step1() {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log("Step 1 done After 3 seconds");
resolve();
}, 3000);
});
}

function step2() {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log("Step 2 done After 2 seconds");
resolve();
}, 2000);
});
}

function step3() {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log("Step 3 done After 1 seconds");
resolve();
}, 1000);
});
}

使用

step1().then().step2().then().step3();

最佳答案

链接 promise 的语法是:

step1().then(step2).then(step3);

...因此您向 then 提供回调参数。

在不太重要的情况下,您可能会使用 promise 的值和/或参数,您可以使用 bind 或内联函数表达式:

step1().then(result => step2(result)).then(result2 => step3(result2));

关于javascript - 从 Callback hell 转换为 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49846497/

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