просто запустите асинхронную задачу с ключевым словом go
.Он будет выделяться в своей собственной программе, и вашей основной линии исполнения больше не придется о нем заботиться.
product := fetchProduct()
if product.isExpired() {
go product.updateStatus("expired")
}
// return as normal
Обратите внимание, что, поскольку product.updateStatus
почти наверняка меняет состояние этого продукта,Трудно предсказать, когда будет безопасно использовать этот продукт снова (иначе, когда он был обновлен в базовом слое базы данных)