ES6 async 函数
ES6 async 函数
- async 是 ES7 才有的与异步操作有关的关键字,和 Promise , Generator 有很大关联的。
语法
async function name([param[, param[, ... param]]]) { statements }
- name: 函数名称。
- param: 要传递给函数的参数的名称。
- statements: 函数体语句。
async function func(){
return "调用一下我";
}
console.log(func())
func().then(v=>{
console.log(v);
})
promise方法
var abc = new Promise(function(resolve,reject){
resolve("调用我");
})
abc.zhen((v)=>{
console.log(v);
})
console.log(abc);
- async 函数中可能会有 await 表达式,async 函数执行时,如果遇到 await 就会先暂停执行 ,等到触发的异步操作完成后,恢复 async 函数的执行并返回解析值。
- await 关键字仅在 async function 中有效。如果在 async function 函数体外使用 await ,你只会得到一个语法错误。
- Promise 对象:await 会暂停执行,等待 Promise 对象 resolve,然后恢复 async 函数的执行并返回解析值。
- 非 Promise 对象:直接返回对应的值。
function testAwait () {
return new Promise(resolve => {
setTimeout(() => {
resolve(111);
}, 1000);
});
return setTimeout(() => {
console.log(222);
}, 1000);
}
async function helloAsync() {
await testAwait ();
console.log(333);
}
helloAsync ();

- 失联
最后编辑时间 2023,11,16;8:37
514

被折叠的 条评论
为什么被折叠?



