async await

1、async 是放在function前面的標識 代表這個函數有異步程序(當然內部可以寫同步代碼),如果內部有返回值,則返回值會被編程promise對象,可以使用.then .catch 等
2、await 和 async 一同使用,await 也是一個標識,標識等待這個一步程序,如果是異步也等待。

async function asyfunc () {
	var a 
	await setTimeout(function => {
		 a = 1
	}, 1000)
	console.log(a)
}
asyfunc()
// 結果 1S後打印 1 如果沒有await 會出現undefined 因爲打印的時候並沒有賦值

3、await 必須和async 一同使用 單獨使用報錯
4、等待並不會妨礙其他進程

async function asyfunc () {
	var a 
	await setTimeout(function => {
		 a = 1
	}, 3000)
	console.log(a)
}
function func () {
	console.log('1111')
}
asyfunc()
func()
// 結果
// '111'
// 1 (3秒後)

可以看到不會浪費任何性能,只有asyfunc 中的程序 會等待await 其他正常執行

5、try catch 無法捕獲異步程序 ,但使用async await 後可以正常捕獲

參考
1、添加鏈接描述
2、添加鏈接描述

發佈了107 篇原創文章 · 獲贊 23 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章