例如
func hello() -> Bool { var result = false httpRequestWithCompletionHandler({ is404 in result = is404 }) return result }
这个函数的返回值永远是 false,因为 closure 是异步执行的 怎么在调用这个函数的时候,得到真正的返回值呢? 注: result 必须定义在函数体内,不能定义在函数体外
小伙看你根骨奇佳,潜力无限,来学PHP伐。
var result_cb = function (result) { alert(result) }; function hello(cb) { httpRequestWithCompletionHandler(is404) { cb(is404); } } hello(result_cb);
这样?
GO lang ? 异步执行的函数只能通过回调来获得值,因此不能直接通过hello返回bool的方式来获得结果。
这样?
GO lang ? 异步执行的函数只能通过回调来获得值,因此不能直接通过hello返回bool的方式来获得结果。