news 2026/10/28 0:08:21

备赛三--

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
备赛三--

1.then()

在 JavaScript 中, then() 是Promise 对象的核心方法,用于指定异步操作成功后的回调函数,也是 fetch 、Promise 链式调用的关键,常和 catch() 、 finally() 配合处理异步流程。

一、 then() 基本语法

javascript
promise.then(onFulfilled[, onRejected]);


- onFulfilled :Promise 状态变为 fulfilled (成功)时执行的回调函数,接收异步操作的返回值作为参数。
- onRejected (可选):Promise 状态变为 rejected (失败)时执行的回调函数,接收错误信息作为参数(通常更推荐用 catch() 单独处理错误)。

二、核心特性:链式调用

then() 执行后会返回一个新的 Promise 对象,因此可以连续调用 then() ,实现异步操作的依次执行,上一个 then() 的返回值会作为下一个 then() 的参数。

javascript
// 基础链式调用示例
new Promise((resolve) => {
setTimeout(() => resolve(10), 1000);
})
.then((num) => {
console.log(num); // 10
return num * 2; // 返回值传递给下一个then
})
.then((num) => {
console.log(num); // 20
return num + 5;
})
.then((num) => {
console.log(num); // 25
});


三、 then() 在 fetch 中的应用

fetch 返回 Promise 对象,因此通过 then() 链式处理响应解析和数据处理是最常见的用法:

javascript
fetch('https://jsonplaceholder.typicode.com/todos/1')
// 第一个then:解析响应为JSON格式(返回新的Promise)
.then((response) => {
if (!response.ok) {
throw new Error(`HTTP错误:${response.status}`); // 手动抛出错误,触发catch
}
return response.json();
})
// 第二个then:处理解析后的JSON数据
.then((data) => {
console.log('请求到的数据:', data);
})
// 捕获链式调用中所有的错误
.catch((error) => {
console.error('请求失败:', error);
});


fetch('请求地址').then(json方法).then('第二次操作')

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/27 8:15:29

Python defaultdict新手教程:从零开始学

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个面向初学者的defaultdict教学代码,包含:1) defaultdict的基本概念图解 2) 与普通字典的直观对比 3) 3个循序渐进的示例(计数器、分组、树…

作者头像 李华
网站建设 2026/10/28 8:11:57

企业级应用中的数据库连接异常处理实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Spring Boot应用,展示企业级数据库连接异常处理方案。包含:1) 多数据源配置;2) HikariCP连接池优化;3) 自定义异常处理器&am…

作者头像 李华
网站建设 2026/10/28 7:31:17

LobeChat能否支持GraphQL订阅?实时更新功能探索

LobeChat能否支持GraphQL订阅?实时更新功能探索 在构建现代AI聊天应用的今天,用户早已不满足于“发送问题、等待回答”的简单交互模式。越来越多的应用场景要求系统具备实时性:比如多个设备间的消息同步、插件执行进度的动态反馈、语音识别过…

作者头像 李华
网站建设 2026/10/28 0:17:49

传统vs智能:AI如何提升前端面试准备效率10倍

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 构建一个智能前端面试准备系统,功能包括:1) 基于用户技术栈和能力评估的个性化题目推荐 2) 自动记录错题并生成薄弱知识点图谱 3) 智能答案比对(…

作者头像 李华
网站建设 2026/10/27 7:37:53

Coze工作流下载:AI如何自动化你的开发流程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个Python脚本,使用Coze工作流下载API自动下载指定工作流文件,并解析JSON内容。脚本应包含错误处理和日志记录功能,确保下载过程的稳定性。…

作者头像 李华
网站建设 2026/10/27 3:38:32

为什么map函数比for循环快?性能对比实测

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个性能对比测试:1) 用for循环和map分别处理100万个数据的平方运算 2) 使用timeit模块测量执行时间 3) 分析内存使用差异。要求生成可视化对比图表,并解…

作者头像 李华