await的解釋?zhuān)?p style="text-align: center;">
await用來(lái)聲明程序掛起。
比如異步程序執(zhí)行到某一步時(shí)需要等待的時(shí)間很長(zhǎng),就將此掛起,去執(zhí)行其他的異步程序。
await后面只能跟異步程序或有__await__屬性的對(duì)象,因?yàn)楫惒匠绦蚺c一般程序不同。
程序解釋?zhuān)?/p>
假設(shè)有兩個(gè)異步函數(shù)asynca,asyncb,a中的某一步有await,
當(dāng)程序碰到關(guān)鍵字awaitb()后,異步程序掛起后去執(zhí)行另一個(gè)異步b程序,就是從函數(shù)內(nèi)部跳出去執(zhí)行其他函數(shù),
當(dāng)掛起條件消失后,不管b是否執(zhí)行完,要馬上從b程序中跳出來(lái),回到原程序執(zhí)行原來(lái)的操作。
如果await后面跟的b函數(shù)不是異步函數(shù),那么操作就只能等b執(zhí)行完再返回,無(wú)法在b執(zhí)行的過(guò)程中返回。
如果要在b執(zhí)行完才返回,也就不需要用await關(guān)鍵字了,直接調(diào)用b函數(shù)就行。
所以這就需要await后面跟的是異步函數(shù)了。
在一個(gè)異步函數(shù)中,可以不止一次掛起,也就是可以用多個(gè)await。
以上內(nèi)容為大家介紹了Ppythonawait是什么?,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。