1. 什么是 Promise?
Promise 是 JavaScript 中处理异步操作的一种机制,它可以让异步操作更加容易管理和控制。Promise 对象代表一个异步操作的最终完成或失败,并提供了一种方式来处理操作的结果。
2. Promise 的基本语法
Promise 对象有三种状态:
- Pending(进行中):初始状态,既不是成功,也不是失败。
- Fulfilled(成功):操作成功完成。
- Rejected(失败):操作失败。
改变Promise状态:Promise对象的状态改变,只有两种可能:从pending变为fulfilled和从pending变为rejected。状态一旦改变,就不会再变,也就是说,Promise对象的状态改变是单向的。
Promise 的基本语法如下:
// 实例化promise对象
const promise = new Promise((resolve, reject) => {
// 异步操作
if (/* 异步操作成功 */) {
resolve(value); // 将Promise对象的状态从“pending”变为“fulfilled”,同时将异步操作的结果,作为回调函数的参数
} else {
reject(reason); // 将Promise对象的状态从“pending”变为“rejected”,同时将异步操作报出的错误,作为回调函数的参数
}
});
promise.then(value => {
// 成功时的回调函数,即当Promise的状态变为fulfilled时调用
}, reason => {
// 失败时的回调函数,即当Promise的状态变为rejected时调用
});
// 例如:
//实例化 Promise 对象
const p = new Promise(function(resolve, reject){
setTimeout(function(){
//
// let data = '数据库中的用户数据';
// resolve
// resolve(data);
let err = '数据读取失败';
reject(err);
}, 1000);
});
//调用 promise 对象的 then 方法
p.then(function(value){
console.log(value);
}, function(reason){
console.error(reason);
})
3.Promise的then方法
const p =new Promise((resolve, reject) =>