Promise方法的常见用法
在 JavaScript 中,Promise 是一种处理异步操作的方法,它可以让异步操作更加简单和直观。Promise 有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。以下是 Promise 的一些常用方法:
1、Promise 构造函数
Promise 构造函数用于创建一个新的 Promise 对象。它接受一个函数作为参数,该函数有两个参数 resolve 和 reject,分别表示异步操作成功和失败时的回调函数。例如:
const promise = new Promise((resolve, reject) => { // 异步操作 if (异步操作成功) { resolve(成功返回的数据); } else { reject(失败返回的原因); } });
2、Promise.then()
Promise.then() 方法用于注册异步操作成功时的回调函数。它接受一个回调函数作为参数,该回调函数的参数是异步操作成功时返回的数据。例如:
promise.then((data) => { // 处理异步操作成功时返回的数据 }).catch((error) => { // 处理异步操作失败时的错误 });
3、Promise.catch()
Promise.catch() 方法用于注册异步操作失败时的回调函数。它接受一个回调函数作为参数,该回调函数的参数是异步操作失败时返回的错误。例如:
promise.catch((error) => { // 处理异步操作失败时的错误 });
4、Promise.all()
Promise.all() 方法用于同时处理多个 Promise 对象。它接受一个 Promise 对象数组作为参数,返回一个新的 Promise 对象。当所有的 Promise 对象都成功时,新的 Promise 对象才会成功;当任何一个 Promise 对象失败时,新的 Promise 对象就会失败。例如:
Promise.all([promise1, promise2, promise3]) .then((data) => { // 处理所有 Promise 对象都成功时返回的数据 }) .catch((error) => { // 处理任何一个 Promise 对象失败时的错误 });
5、Promise.race()
Promise.race() 方法用于处理多个 Promise 对象,它接受一个 Promise 对象数组作为参数,返回一个新的 Promise 对象。当任何一个 Promise 对象成功或失败时,新的 Promise 对象就会成功或失败。例如:
Promise.race([promise1, promise2, promise3]) .then((data) => { // 处理任何一个 Promise 对象成功时返回的数据 }) .catch((error) => { // 处理任何一个 Promise 对象失败时的错误 });