第四十二关:君子协议

任务目标:用 Promise 摆脱回调地狱

🐛

巴格

如果我要先煮饭,再炒菜,再吃饭,再洗碗...

代码就会变成 > 形状的噩梦!

doA(function() { doB(function() { doC(function() { doD(function() { ... }) }) }) })

JS 队长

不要慌!我们有 Promise (承诺)

Promise 就像一个“预购券”。它承诺在未来给你一个结果(成功或失败)。

🦸‍♂️

📜 承诺书

let myPromise = new Promise(function(resolve, reject) { // 做一些耗时的事情... if (/* 成功 */) { resolve("成功啦!"); } else { reject("失败啦!"); } }); // 使用承诺: myPromise.then( function(value) { /* 成功时执行 */ }, function(error) { /* 失败时执行 */ } );

🎮 任务:抛硬币

这是一个命运的硬币。它有 50% 概率是正面 (Success),50% 是反面 (Fail)。

点击按钮,创建一个 Promise 来处理这个随机事件。