例如
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的方式來獲得結果。