async/await是ES20717引入的,主要是简化Promise调用操作,实现了以异步操作像同步的方式去执行,async外部是异步执行的,同步是await的作用。
async,英文意思是异步,当函数(包括函数语句、函数表达式、Lambda表达式)前有async关键字的时候,并且该函数有返回值,函数执行成功,那么该函数就会调用Promise.resove()并隐式的返回一个Promise对象;如果函数执行失败就会调用Promise.reject()并返回一个Promise对象。
Promise.resolve(x) 可以看作是 new Promise(resolve => resolve(x)) ,可将字面量对象或其他对象快速封装成 Promise 实例
async func(){
return "a"
}
console.log(func())
func().then(res=>{
console.log(res) //通过回掉获取到 a
}.catch(err=>{ }))
func()的返回值如下,由此可见返回的是一个Promise对象。
const a = await '1';
const a = await Promise.resolve('1');//跟上面效果效果相同
//await后跟同步代码,不如不使用await,增加了代码逻辑,没有意义
const a = '1';
async function func(){
const a = await asyncFunc();
}
asyncFunc().then().catch()
async function func(){
const a = await asyncFunc();
}
func().then().catch()
async function func(){
try(){
const a = await asyncFunc();
}catch(error){ }
}
async function func(){
console.log('a')
const c = await 'c'
console.log(c)
return 'd'
}
# 总结
其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。
这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来
**目录:**

**部分内容截图:**


链图片转存中...(img-SyqrUuq0-1716571058439)]
**部分内容截图:**
[外链图片转存中...(img-GBTmms37-1716571058439)]
[外链图片转存中...(img-iv4b8zzS-1716571058439)]