中断 Web 请求中的循环(在 swift 中)
Break for loop inside a web request (in swift)
在我的 for 循环中我 运行 一个网络请求。现在,如果 Web 请求中出现错误,我想中断 for 循环,但是我收到此错误:
break is only allowed inside a loop or switch
我也试过像我见过的那样命名我的 for 循环,例如 myLoopName : for(...)
然后用 break myLoopName
调用它,但后来我得到了同样的错误。
这是我的代码目前的样子的例子
myLoopName : for(...) {
...
SRWebClient.POST(someUrlString)
.data(...)
.send({(response:AnyObject!, status:Int) -> Void in
//process success response
},failure:{(error:NSError!) -> Void in
//process failure response
println(error)
//where break must occur
})
}
如何打破 Web 请求中的循环?
我会在处理闭包和中断时使用一个函数来做到这一点:
func loop() {
SRWebClient.POST(someUrlString).data().send( { response, status in
loop()
},
failure:{ (error:NSError!) -> Void in
println(error)
}
}
我用了 return
而不是 break
并且效果很好
func loop() {
SRWebClient.POST(someUrlString).data().send( { response, status in
loop()
},
failure:{ (error:NSError!) -> Void in
println(error)
return
}
}
在我的 for 循环中我 运行 一个网络请求。现在,如果 Web 请求中出现错误,我想中断 for 循环,但是我收到此错误:
break is only allowed inside a loop or switch
我也试过像我见过的那样命名我的 for 循环,例如 myLoopName : for(...)
然后用 break myLoopName
调用它,但后来我得到了同样的错误。
这是我的代码目前的样子的例子
myLoopName : for(...) {
...
SRWebClient.POST(someUrlString)
.data(...)
.send({(response:AnyObject!, status:Int) -> Void in
//process success response
},failure:{(error:NSError!) -> Void in
//process failure response
println(error)
//where break must occur
})
}
如何打破 Web 请求中的循环?
我会在处理闭包和中断时使用一个函数来做到这一点:
func loop() {
SRWebClient.POST(someUrlString).data().send( { response, status in
loop()
},
failure:{ (error:NSError!) -> Void in
println(error)
}
}
我用了 return
而不是 break
并且效果很好
func loop() {
SRWebClient.POST(someUrlString).data().send( { response, status in
loop()
},
failure:{ (error:NSError!) -> Void in
println(error)
return
}
}