我有這個函式可以監聽 RabbitMQ 以使用訊息。在某些時候,我想停止收聽并關閉頻道并退出該功能。
func WaitForConfirm(expectedLen int){
count := 0
forever := make(chan bool)
go func() {
for i := 0; i < 5; i {
count
if count == expectedLen {
// HERE I WANT TO EXIT THE FUNCTION COMPLETELY
}
}
}()
<-forever
}
哦,順便說一句,我這樣稱呼這個函式:
go WaitForConfirm(2)
那么,我怎樣才能停止無限回圈并退出函式呢?
uj5u.com熱心網友回復:
實際上,您的代碼中沒有無限回圈,只是 chan 阻塞了您的代碼。
您應該將值發送給 chan 以釋放執行。
這里的例子:https ://go.dev/play/p/ujJjwBBsiP0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/535727.html
標籤:去
