async後邊返回乙個promise,await後邊也返回乙個promise。
async是generator函式的語法糖。
function asynctogenerator(generatorfunc) catch (error)// gen.next() 得到的結果是乙個 的結構
const = generatorresult
if (done)
// 這個value也就是generator函式最後的返回值
return resolve(value)
} else 的結構,
// 這裡要注意的是promise.resolve可以接受乙個promise為引數
// 並且這個promise引數被resolve的時候,這個then才會被呼叫
return promise.resolve(
// 這個value對應的是yield後面的promise
value
).then(
// value這個promise被resove的時候,就會執行next
// 並且只要done不是true的時候 就會遞迴的往下解開promise
// 對應gen.next().value.then(value => )
// })
function onresolve(val) ,
// 如果promise被reject了 就再次進入step函式
// 不同的是,這次的try catch中呼叫的是gen.throw(err)
// 那麼自然就被catch到 然後把promise給reject掉啦
function onreject(err) ,)}
}step("next")
})}}
C 基礎 手動書寫XML
xml文件內容 1 文件宣告 2 元素 標籤 文件總至少要有乙個根元素 3 屬性 4 注釋 5 cdata區 特殊字元 手動用記事本建立乙個xml文件,開啟記事本,輸入內容,然後儲存為xml,編碼格式選擇utf 8 小明 name read 夢遊計 read student student name...
async await,實現同步
作為一名初學者,對於 而言,自然是對比於之前學過的知識,這樣才能判斷意義 對於promise了解不深入,但也稍微記錄,加深自我的印象。作為新特性來說,功能必然更好,就對比之前ajax來說,promise能夠將非同步轉為同步。如 async function ajaxtest url return n...
使用async await 總結
async await 迴圈並行處理 同步 同一執行緒之中,順序完成不同的操作,是一種阻塞模式 後乙個請求操作需要等待前乙個操作完成之後,才能發出。非同步 需要開啟不同的執行緒,是非阻塞模式。同步類似於打 而非同步相當於發簡訊。傳送請求獲取天氣非同步操作,利用node fetch完成請求 const...