Reputation: 411
I want to create a global HTTP request function/extension with Alamofire. It's like:
function Request(requestPath:String, requestParams:Any, onComplate:Void) {
// stuff here, when async request complate i want to call onComplate function
// like C# method.Invoke() or func.Invoke()
}
Upvotes: 5
Views: 20049
Reputation: 411
Thanks for reply but finally solution
class HttpRequest<Request, Response>
{
private var serviceBase:String = "http://192.168.1.1/api";
func request(path:String, model: Request, success: @escaping((_ response: [Response]?) -> ()), failure: @escaping ((_ error:String) -> ()) {
// code here..
}
}
Upvotes: 8
Reputation: 309
You can just pass the closure(function) as parameter
swift
func request(requestPath:String, requestParams:Any, callback:((Result) -> Void)) {
...
}
Where Result
will be the type of your response.
Upvotes: 9