JavaScript的异步编程经历了从回调函数到Promise,再到async/await的演进过程。本文将详细介绍JavaScript异步编程的发展历史和各种方案的优缺点。
// 回调函数
function fetchData(callback) {
setTimeout(() => {
callback('Data');
}, 1000);
}
// Promise
function fetchData() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('Data');
}, 1000);
});
}
// async/await
async function fetchData() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('Data');
}, 1000);
});
}
async function main() {
const data = await fetchData();
console.log(data);
}