0
点赞
收藏
分享

微信扫一扫

将同步函数变成异步并监听其完成的方式

西风白羽 2023-05-29 阅读 46

先看k8s源码中的实现方式

将同步函数变成异步并监听其完成的方式_同步

将同步函数变成异步并监听其完成的方式_gorouting_02





核心代码如下:

// RESTStorage is a generic interface for RESTful storage services
type RESTStorage interface {
	List(labels.Selector) (interface{}, error)
	Get(id string) (interface{}, error)
	Delete(id string) (<-chan interface{}, error)
	Extract(body string) (interface{}, error)
	Create(interface{}) (<-chan interface{}, error)
	Update(interface{}) (<-chan interface{}, error)
}

func MakeAsync(fn func() interface{}) <-chan interface{} {
	channel := make(chan interface{}, 1)
	go func() {
		defer util.HandleCrash()
		channel <- fn()
	}()
	return channel
}



举报

相关推荐

JS中的同步异步

0 条评论