【js中then的用法】在 JavaScript 中,`then()` 是 Promise 对象的一个重要方法,用于处理异步操作的结果。它通常与 `Promise` 一起使用,能够链式调用多个操作,提高代码的可读性和可维护性。本文将对 `then()` 的基本用法进行总结,并通过表格形式展示其常见用法和示例。
一、`then()` 基本介绍
`then()` 方法接收两个参数,分别是 成功时的回调函数 和 失败时的回调函数。它的基本语法如下:
```javascript
promise.then(onFulfilled, onRejected);
```
- `onFulfilled`:当 Promise 成功时调用,传入成功的值。
- `onRejected`:当 Promise 失败时调用,传入错误信息。
此外,`then()` 返回一个新的 Promise,可以继续链式调用。
二、`then()` 常见用法总结
| 使用方式 | 描述 | 示例 |
| `then(onFulfilled)` | 只处理成功情况 | `fetchData().then(data => console.log(data));` |
| `then(onFulfilled, onRejected)` | 同时处理成功和失败 | `fetchData().then(data => console.log(data), error => console.error(error));` |
| 链式调用 | 支持连续调用多个 `then()` | `fetchData().then(data => data + ' success').then(result => console.log(result));` |
| 返回新 Promise | `then()` 返回新的 Promise,可用于后续处理 | `fetchData().then(data => new Promise(resolve => resolve(data + ' processed')));` |
| 错误捕获 | 在链式调用中使用 `catch()` 捕获错误 | `fetchData().then(data => data + ' success').catch(error => console.error(error));` |
三、注意事项
- `then()` 不会阻塞代码执行,而是异步执行。
- 如果 `then()` 中的回调函数抛出异常,该异常会被传递到下一个 `catch()` 或 `then()` 的第二个参数中。
- `then()` 可以嵌套使用,但过度嵌套会导致“回调地狱”,建议使用 `async/await` 提高可读性。
四、小结
`then()` 是 JavaScript 中处理异步操作的核心方法之一,尤其在 Promise 编程中非常常见。通过合理使用 `then()`,可以有效管理异步流程,提升代码结构清晰度。掌握其基本用法和链式调用技巧,是编写高效异步代码的重要基础。


