typescript Promise
时间: 2023-11-03 20:59:22 浏览: 40
TypeScript 中的 Promise 是一种对象,它代表一个异步操作的最终完成或失败,以及该操作产生的值。
Promise 有三种状态:
1. `pending`:初始状态,既不是成功也不是失败状态。
2. `fulfilled`:意味着操作成功完成,并且有一个返回值,我们称之为 Promise 的 `value`。
3. `rejected`:意味着操作失败,并返回一个错误对象,我们称之为 Promise 的 `reason`。
使用 Promise 可以将异步操作封装成一个对象,可以更加方便地进行错误处理和链式调用。在 TypeScript 中使用 Promise 的方式与 JavaScript 中相同,例如:
```typescript
function fetchData(): Promise<string> {
return new Promise((resolve, reject) => {
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => resolve(data))
.catch(error => reject(error));
});
}
fetchData().then(data => console.log(data)).catch(error => console.error(error));
```
在上面的例子中,我们定义了一个返回 Promise 对象的函数 `fetchData()`,它使用 `fetch()` 方法获取数据。在 Promise 的构造函数中,我们定义了 `resolve` 和 `reject` 回调函数,用于处理异步操作的结果。最后,我们使用 `then()` 和 `catch()` 方法对 Promise 进行处理。