// 创建一个 Promise 对象
const myPromise = new Promise((resolve, reject) => {
// 模拟异步操作,比如网络请求或定时器
setTimeout(() => {
const success = true; // 假设操作成功
if (success) {
resolve('操作成功'); // 成功时调用 resolve
} else {
reject('操作失败'); // 失败时调用 reject
}
}, 1000);
});
// 使用 then 方法处理 Promise 的成功和失败情况
myPromise
.then(result => {
console.log(result); // 输出: 操作成功
})
.catch(error => {
console.error(error); // 如果失败会输出错误信息
});
// 也可以链式调用多个 then 方法
myPromise
.then(result => {
console.log(result); // 输出: 操作成功
return '继续处理';
})
.then(nextResult => {
console.log(nextResult); // 输出: 继续处理
})
.catch(error => {
console.error(error); // 如果前面任何一个步骤失败会输出错误信息
});
Promise 构造函数:new Promise((resolve, reject) => {...}) 是创建一个 Promise 对象的方式。构造函数接收一个执行器函数作为参数,该函数有两个参数 resolve 和 reject,分别用于在异步操作成功或失败时调用。
then 方法:then 方法用于处理 Promise 成功的情况。它可以接收两个回调函数作为参数,第一个是当 Promise 被 resolve 时调用的函数,第二个是可选的,用于处理 Promise 被 reject 的情况。
catch 方法:catch 方法用于捕获 Promise 链中任何地方发生的错误(即 reject 的情况)。它相当于在每个 then 方法中都添加了一个错误处理的回调。
链式调用:Promise 支持链式调用多个 then 方法,每个 then 方法可以返回一个新的 Promise 或者普通值,后续的 then 会根据返回值继续执行。
异步操作:在这个例子中,我们使用了 setTimeout 来模拟一个异步操作,实际开发中可能是 AJAX 请求、文件读取等操作。
上一篇:js promise用法
下一篇:js use strict
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站