前端异步解决方案主要有以下几种:
- 回调函数(Callback)
function getData(callback) {
setTimeout(() => {
const data = '异步获取的数据';
callback(data);
}, 1000);
}
getData((data) => {
console.log(data);
});
- Promise
function getData() {
return new Promise((resolve) => {
setTimeout(() => {
const data = '异步获取的数据';
resolve(data);
}, 1000);
});
}
getData().then((data) => {
console.log(data);
});
- async/await
function getData() {
return new Promise((resolve) => {
setTimeout(() => {
const data = '异步获取的数据';
resolve(data);
}, 1000);
});
}
async function main() {
const data = await getData();
console.log(data);
}
main();
- 事件监听(Event Listener)
const eventEmitter = new EventEmitter();
function getData() {
setTimeout(() => {
const data = '异步获取的数据';
eventEmitter.emit('data', data);
}, 1000);
}
eventEmitter.on('data', (data) => {
console.log(data);
});
getData();
以上就是前端常用的异步解决方案。