1 回答

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
來(lái)自golang 網(wǎng)站:
包 context 定義了 Context 類型,它攜帶跨 API 邊界和進(jìn)程之間的截止日期、取消信號(hào)和其他請(qǐng)求范圍的值。
因此,上下文被設(shè)計(jì)為針對(duì)每個(gè)用例進(jìn)行調(diào)整和定制。您可以使用庫(kù)提供的功能來(lái)實(shí)現(xiàn)這一目標(biāo)。
WithCancel、WithDeadline 和 WithTimeout 函數(shù)采用 Context(父級(jí))并返回派生的 Context(子級(jí))和 CancelFunc。調(diào)用 CancelFunc 會(huì)取消子級(jí)及其子級(jí),刪除父級(jí)對(duì)子級(jí)的引用,并停止任何關(guān)聯(lián)的計(jì)時(shí)器
因此,goDocs建議在您的上下文中使用 WithTimeout 函數(shù),同時(shí)將數(shù)據(jù)插入 BigQuery 并防止重復(fù),正如您已經(jīng)看到的那樣。
唯一必須的是傳遞一個(gè)非零的上下文。你通常會(huì)使用它context.Background()
作為一種方式(正如我在Cloud Github 共享的snippets.gocontext.TODO
中看到的那樣),但如果你不確定要使用哪一種,你可以安全地通過(guò)。
- 1 回答
- 0 關(guān)注
- 125 瀏覽
添加回答
舉報(bào)