酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

JS 用 Promise 链模拟网络请求:成功、失败处理及最终操作揭秘

下面是一个使用 JavaScript 的 `Promise` 来实现你描述的功能的例子。这里我们使用 `setTimeout` 来模拟异步的网络请求,并根据设定的时间来决定请求是成功还是失败。 ```javascript // 模拟网络请求的函数 function simulateNetworkRequest(isSuccess) { return new Promise((resolve, reject) => { setTimeout(() => { if (isSuccess) { resolve("请求成功"); } else { reject("请求失败"); } }, 1000); // 假设请求需要1秒时间 }); } // 创建 Promise 链 simulateNetworkRequest(true) // 可以将 true 改为 false 来测试失败的情况 .then(response => { console.log(response); }) .catch(error => { console.error(error); }) .finally(() => { console.log("操作结束"); }); ``` 解释 1. simulateNetworkRequest 函数: - 这个函数接收一个布尔值 `isSuccess`,用于决定模拟的网络请求是否成功。 - 使用 `new Promise` 创建一个新的 Promise 对象。 - 使用 `setTimeout` 模拟异步操作,这里设置为1秒后执行。 - 如果 `isSuccess` 为 `true`,则调用 `resolve` 方法,表示操作成功。 - 如果 `isSuccess` 为 `false`,则调用 `reject` 方法,表示操作失败。 2. Promise 链: - 调用 `simulateNetworkRequest(true)` 创建一个 Promise。 - 使用 `.then` 处理成功的情况,打印 "请求成功"。 - 使用 `.catch` 处理失败的情况,打印 "请求失败"。 - 使用 `.finally` 在所有操作完成后(无论是成功还是失败)打印 "操作结束"。 你可以通过将 `simulateNetworkRequest(true)` 中的 `true` 改为 `false` 来测试失败的情况。 ######[AI写代码神器 | 427点数解答 | 2024-11-12 08:40:30]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]