【发布时间】:2026-02-18 00:00:02
【问题描述】:
我正在为我的学生创建一个学习模块,我试图在其中展示 Promise 与回调的威力。不幸的是,我来自 Python 背景,所以回调地狱不是我必须处理的事情。
手头的任务是我想将我用来演示异步如何产生意外结果的示例转换为使用回调产生预期结果的示例。
function print1() {
mimicAsync(1);
}
function print2() {
mimicAsync(2);
}
function print3() {
mimicAsync(3);
}
print1();
print2();
print3();
<script>
function mimicAsync(num) {
setTimeout(function() {
document.getElementById("output").innerHTML += num;
}, Math.floor(Math.random() * 1000));
}
</script>
<span id="output"></span>
我知道如何使用 Promises 来做到这一点,但我想首先说明回调是多么令人不快。我是在 Promise 被引入之后才开始接触 JavaScript 的,所以对回调地狱的经验很少。
【问题讨论】: