promise异步回调获取数据
时间: 2024-08-20 16:01:00 浏览: 74
Promise是一种处理异步操作的技术,它提供了一种更简洁、明确的方式来编写和管理工作流程中的回调函数。在JavaScript中,当我们通过一个Promise对象发起一个异步操作(比如网络请求或文件读取),这个Promise会处于三种状态之一:pending(等待中)、fulfilled(已成功)或rejected(已失败)。一旦操作完成,我们可以在`.then`方法中指定一个成功的回调函数,如果操作成功,这个函数会被调用,并传入返回的数据;如果在`.catch`方法中指定了错误处理函数,则会在操作失败时被调用。
例如,获取数据的Promise示例:
```javascript
function fetchData(url) {
return new Promise((resolve, reject) => {
// 模拟异步操作,实际应用中可能是fetch API或其他API请求
setTimeout(() => {
const data = { /* 返回的数据 */ };
if (/* 操作成功 */) {
resolve(data); // 成功时调用resolve并传递数据
} else {
reject(new Error('Failed to fetch data')); // 失败时调用reject并抛出错误
}
}, 2000);
});
}
fetchData('https://api.example.com/data')
.then(data => console.log('Success:', data))
.catch(error => console.error('Error:', error));
```