JavaScript: 异步代码同步执行
在学会异步代码如何同步执行之前,需要先了解两个知识
- async是函数的修饰符,被async修饰的函数会默认返回一个成功状态的Promise对象,Promise对象的结果为:被修饰的函数的返回值
- await 是一个只能放在async定义的函数内的修饰符
- 如果被修饰的内容是Promise对象,那么返回值就是Promise对象的结果
- 如果被修饰的内容是其他值,那么就正常返回
异步代码同步执行
async function fn() {
let a = await 1;
let b = await new Promise(function (res,rej){
setTimeout(function (){
res(2);
})
});
let c = 3;
console.log(a,b,c); //打印结果为:1,2,3
return 'hello world';
}
fn().then(function (val){
console.log(val); // 打印结果为:'hello world'
})