【发布时间】:2015-09-01 20:50:36
【问题描述】:
简而言之,假设我定义了一个运算符:
infix operator <~ {
associativity left
precedence 160
}
假设我使用这个操作符做两个对象之间的一些工作,所以我定义了这样的函数:
func <~ <T: FirstProtocol, U:SecondProtocol>(lhs: T, rhs: U) {
//async request
}
现在我们不能返回任何东西,因为操作符函数正在做异步工作,我们也不能为闭包使用更多的参数。因为异步函数可能会运行几秒钟,所以我需要一个在异步任务完成时运行的回调。问题是您是否可以将运算符与异步函数一起使用?我尝试了各种解决方案,但似乎都不起作用。
完美的解决方案如下所示:
something <~ somethingElse {
error in
//async call finished
}
【问题讨论】:
标签: ios swift asynchronous swift2