news 2026/6/9 21:36:35

备赛三--

作者头像

张小明

前端开发工程师

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/6/7 18:27:15

LobeChat能否实现AI导游?旅游推荐与行程规划助手

LobeChat 能否实现 AI 导游?旅游推荐与行程规划助手 在智能出行日益普及的今天,旅行者不再满足于千篇一律的攻略模板。他们希望获得真正“懂自己”的建议:带孩子的家庭想知道哪些景点推婴儿车最方便;摄影爱好者关心清晨几点到西湖…

作者头像 李华
网站建设 2026/6/8 14:51:51

AI如何帮你生成高效密码字典?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个密码字典生成工具,能够根据用户输入的关键词、个人信息(如生日、姓名等)自动生成常见密码组合。支持自定义规则,如长度限制、…

作者头像 李华
网站建设 2026/6/8 10:53:54

无人机产业变革前夜:当飞行器开始“思考”

算法定义硬件的时代,无人机正从飞行平台演变为自主决策系统在森林防火巡查中,无人机不仅能识别火情,还能区分枯树与潜在火情;在城市高空,它可以辨别企业团建与非法聚集;在应急救援中,它能穿越浓…

作者头像 李华
网站建设 2026/6/9 20:05:21

深度解析 - 软件包依赖安装机制与故障排除

一、问题现象重述 在Anolis OS 8.6系统(基于RHEL 8.6)中,已通过yum 4.7.0安装A-1.0.0和B-1.0.0软件包。当挂载OS-v2的ISO作为yum源后,执行yum install A B时出现以下典型现象: 系统提示需要安装多个新增依赖包部分依…

作者头像 李华