1、同步:按顺序一条一条数据执行
console.log('第1条数据');
console.log('第2条数据');
console.log('第3条数据');
console.log('第4条数据');
console.log('第5条数据');
2、异步:前一条数据不影响后一条数据执行
setTimeout(() => { console.log('第1条数据') }, 3000);
setTimeout(() => { console.log('第2条数据') }, 1000);
setTimeout(() => { console.log('第3条数据') }, 3000);
setTimeout(() => { console.log('第4条数据') }, 2000);
setTimeout(() => { console.log('第5条数据') }, 3000);
3、异步获取数据的方法(3种)
- 回调函数
- ES6的
Promose
内置对象 async
函数
4、异步获取数据的方法(回调函数)
var target = 'Hello world!';
function getDate(fn) {
setTimeout(() => {
fn(target);
}, 500)
}
getDate((target) => {
console.log(target);
})
5、异步获取数据的方法(promise
内置对象)
var target = 'Hello world!';
var result = new Promise((resolve) => {
setTimeout(() => {
resolve(target);
}, 500)
})
result.then((target) => {
console.log(target);
})
6、异步获取数据的方法(async
函数)
function getDate1() {
return new Promise((resolve) => {
setTimeout(() => {
resolve(target);
}, 500)
})
}
async function fun() {
let target1 = await getDate1();
console.log(target1);
let target2 = await getDate1();
console.log(target2);
let target3 = await getDate1();
console.log(target3);
}
fun();