现在callback可以自由选择返回值的类型了