Alamofireでのリクエスト結果を返り値にしたい
以下のような関数を作成して返り値を確認したところ、[]が返ってきました。
しかし関数を実行すると、関数内のprintの部分ではちゃんと結果が表示されます。
クロージャを用いれば解決するのは調べたところわかるのですが、具体的にこのコードをどう変更すれば良いのかがわかりません。
どなたかわかる方はいらっしゃるでしょうか?
import SwiftyJSON
import Alamofire
public func post_request(postString:String, url:String) -> Array<JSON> {
var data:Array<JSON> = []
var request = URLRequest(url: URL(string: url)!)
request.httpMethod = "POST"
request.httpBody = postString.data(using: .utf8)
Alamofire.request(request as URLRequestConvertible)
.responseJSON { response in
print(response.request as Any) // original URL request
print(response.response as Any) // HTTP URL response
print(response.data as Any) // server data
print(response.result.value as Any) // result of response serialization
let json = try! JSON(data: response.data!)
data = json.arrayValue
print("*************")
print(data)
print("*************")
}
return data
}