ts Promise
时间: 2024-07-05 11:01:02 浏览: 143
TypeScript中的Promise是一种处理异步操作的机制,它允许你在JavaScript中编写更加清晰和可维护的代码,特别是在处理回调地狱的情况下。Promise代表了一个异步操作的最终完成(成功或失败)并返回一个值。
1. **基本结构**:
- `new Promise((resolve, reject) => {...})`: 创建一个新的Promise实例。`resolve`函数用于解决(success)Promise,`reject`函数用于拒绝(error)Promise。
- `.then(onFulfilled, onRejected)`: 如果Promise解决,调用`onFulfilled`;如果Promise被拒绝,调用`onRejected`。
- `.catch(onRejected)`: 一个简写版的`.then(null, onRejected)`,用于处理错误。
2. **状态转换**:
- `Promise.resolve(value)` 或 `value.then(...)`:将非Promise值转化为Promise并立即解决。
- `Promise.reject(error)` 或 `Promise.error(error)` 或 `error.catch(...)`:将错误转化为Promise并立即拒绝。
3. **链式调用**:
- `.then().then().catch()` 的方式可以创建一个处理异步操作序列的链,每个`.then`都对应一个可能的结果,`.catch`用于捕获和处理错误。
4. **async/await**:
TypeScript支持使用`async`/`await`来更直观地操作Promise。`async`函数返回一个Promise,`await`关键字等待Promise解析或拒绝。
阅读全文