阅读量:0
Promise在JavaScript中是一种用于处理异步操作的对象。它可以让你更加灵活地处理异步操作,避免回调地狱的情况。
Promise有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。当Promise处于pending状态时,可以通过调用resolve()方法将其状态改为fulfilled,也可以通过调用reject()方法将其状态改为rejected。
下面是Promise的一个简单示例:
let promise = new Promise((resolve, reject) => { setTimeout(() => { let random = Math.random(); if (random > 0.5) { resolve('Success!'); } else { reject('Error!'); } }, 2000); }); promise.then((result) => { console.log(result); // 输出 'Success!' 或 'Error!' }).catch((error) => { console.log(error); });
在这个示例中,我们创建了一个Promise对象,通过setTimeout模拟了一个异步操作。如果随机数大于0.5,则调用resolve()方法,否则调用reject()方法。然后我们使用then()方法来处理Promise对象的结果,使用catch()方法来处理Promise对象的错误。
Promise的应用场景包括但不限于:异步网络请求、文件读写、定时器等等。通过Promise,我们可以更加优雅地处理异步操作,避免回调地狱,让代码更加清晰易读。