Android 保持循环执行,直到回调完成
我正在寻找一种很好的方法,使while循环等待其迭代,直到启动回调为止,请查看下面的示例伪代码,在我的android项目中,我正在使用Kotlin:Android 保持循环执行,直到回调完成,android,loops,kotlin,concurrency,async-await,Android,Loops,Kotlin,Concurrency,Async Await,我正在寻找一种很好的方法,使while循环等待其迭代,直到启动回调为止,请查看下面的示例伪代码,在我的android项目中,我正在使用Kotlin: var count = 0 var found = false while(count < 3 && found) { callback A = { succcess() { count++ found = true }
var count = 0
var found = false
while(count < 3 && found) {
callback A = {
succcess() {
count++
found = true
}
failed() {
count++
}
}
SampleApi.start(A)
}
var计数=0
发现的var=false
while(计数<3&&found){
回调A={
成功(){
计数++
找到=真
}
失败(){
计数++
}
}
SampleApi.start(A)
}
在上面的示例代码中,我希望使while循环执行停止并保持,并且仅在触发回调方法后增加迭代。仅响应上面的伪代码,下面可能是仅在从API获得响应后更新数据的解决方案。而不是while循环,只需通过传递零作为起始参数来调用下面的方法
fun recursiveMethodCall(count: Int){
callback A = {
succcess() {
if (count < 2){
found = true
loopMethodCall(count+1)
}
}
failed() {
if (count < 2){
loopMethodCall(count+1)
}
}
}
SampleApi.start(A)
}
fun递归方法调用(计数:Int){
回调A={
成功(){
如果(计数<2){
找到=真
loopMethodCall(计数+1)
}
}
失败(){
如果(计数<2){
loopMethodCall(计数+1)
}
}
}
SampleApi.start(A)
}
Coroutines如何?您能举一些例子说明如何实现它吗@AnimeshSahu,我试过使用runBlocking,但它不起作用。这能回答你的问题吗@Animeshahu感谢分享链接,但此解决方案不适用于我的情况我不想写完整的答案,但你可以这样做: