Callback function

https://www.zhihu.com/question/19801131