js用三种方法实现异步
使用回调函数(Callback)
回调函数是异步编程中最基础的方法,通过将函数作为参数传递给异步操作,在操作完成后调用该函数。适用于简单的异步场景,但容易导致“回调地狱”。
function fetchData(callback) {
setTimeout(() => {
callback('Data received');
}, 1000);
}
fetchData((data) => {
console.log(data); // 输出: Data received
});
使用Promise
Promise对象代表一个异步操作的最终完成或失败,解决了回调地狱问题。通过.then()和.catch()处理成功和失败状态。
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Data received');
}, 1000);
});
}
fetchData()
.then(data => console.log(data)) // 输出: Data received
.catch(error => console.error(error));
使用async/await
async/await是Promise的语法糖,以同步的方式编写异步代码。async标记函数为异步,await等待Promise解决。代码更清晰,错误处理通过try/catch实现。
async function fetchData() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('Data received');
}, 1000);
});
}
async function getData() {
try {
const data = await fetchData();
console.log(data); // 输出: Data received
} catch (error) {
console.error(error);
}
}
getData();






