ES6 中新引入了很多的特性,其中常用的有块级作用域
、箭头函数
、模板字符串
、解构赋值
、扩展运算符
、类和继承
、Promise对象
,它们让 JavaScript 语言更加便捷和强大。尤其是Primse在项目的请求的异步处理中不可或缺,在于其是一个强大的处理异步操作的对象,它可以避免回调地狱,使异步代码的编写和维护更加清晰和高效。
下面详细介绍 Promise
的常见 API 和用法,并给出相应的示例。
1. Promise
构造函数
Promise
构造函数用于创建一个新的 Promise
对象。它接受一个执行器函数作为参数,该执行器函数有两个参数:resolve
和 reject
,分别用于将 Promise
的状态从 pending
(进行中)变为 fulfilled
(已成功)和 rejected
(已失败)。
语法:
new Promise((resolve, reject) => {
// 异步操作
if (/* 操作成功 */) {
resolve(result);
} else {
reject(error);
}
});
示例:
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
const randomNumber = Math.random();
if (randomNumber > 0.5) {
resolve(randomNumber);
} else {
reject(new Error('随机数小于等于 0.5'));
}
}, 1000);
});
2. Promise.prototype.then()
then()
方法用于处理 Promise
成功的情况,它接受两个可选参数:成功回调和失败回调。成功回调会在 Promise
状态变为 fulfilled
时执行,失败回调会在 Promise
状态变为 rejected
时执行。
语法:
promise.then(onFulfilled, onRejected);
示例:
promise.then(
(result) => {
console.log('成功:', result);
}