运行 使用 AA 按顺序执行异步任务?
Run Asynchronous Tasks in Order using AA?
我正在尝试 运行 单击按钮然后移动到下一个 activity 的某些方法,如下所示:
Clicked Ok button -> func1() -> func2() -> funky() -> move to next activity
我似乎不明白我应该怎么做才能让这个模式起作用?
注意: func1 , func2 , funky 是异步的
我已经尝试过 EventBus 模式,但该模式需要 1 个额外的 class 来构成每个 event
我知道这个简单的任务不会那么昂贵
按钮点击 - 这是异步的(在某种程度上;onClick
中的代码在按钮点击之前不会被调用)。你在这里做什么?您等待 直到按下按钮,然后然后 执行任务func1()
。
func1()
- 同样的想法。实现任务完成时的回调,然后执行func2()
冲洗,重复。
伪代码:
button.setOnClickListener(
new OnClickListener() { // This is a callback anonymous class
public void onClick(View v) { // Think of this as a callback method
func1(
new Func1Callback() { // Callback anonymous class
public void onFunc1Complete() { // Callback method
func2(
// Repeat
);
}
});
}
});
显然,这可以重构以删除嵌套,这正是 EventBus 库的优势所在。
我正在尝试 运行 单击按钮然后移动到下一个 activity 的某些方法,如下所示:
Clicked Ok button -> func1() -> func2() -> funky() -> move to next activity
我似乎不明白我应该怎么做才能让这个模式起作用?
注意: func1 , func2 , funky 是异步的
我已经尝试过 EventBus 模式,但该模式需要 1 个额外的 class 来构成每个 event
我知道这个简单的任务不会那么昂贵
按钮点击 - 这是异步的(在某种程度上;onClick
中的代码在按钮点击之前不会被调用)。你在这里做什么?您等待 直到按下按钮,然后然后 执行任务func1()
。
func1()
- 同样的想法。实现任务完成时的回调,然后执行func2()
冲洗,重复。
伪代码:
button.setOnClickListener(
new OnClickListener() { // This is a callback anonymous class
public void onClick(View v) { // Think of this as a callback method
func1(
new Func1Callback() { // Callback anonymous class
public void onFunc1Complete() { // Callback method
func2(
// Repeat
);
}
});
}
});
显然,这可以重构以删除嵌套,这正是 EventBus 库的优势所在。