在单个 Activity 中包含多个 ViewModel.observe 是个好主意吗?

Is it good idea to have multiple ViewModel.observe in a single Activity?

我有一个 activity 并将其命名为 MainActivity。为此 activity 我创建了一个名为 MainViewModel 的 ViewModel。
在这个 activity 中,我有 3 个网络调用,我在 MainViewModel 中为它们创建了 3 个观察者。首先我调用第一个请求,当这个请求成功时我会调用第二个请求,当这也成功时我会调用第三个请求。

我的代码是这样的:

...
private MainViewModel viewModel;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    ...

    viewModel.doRequestOne();

    viewModel.requestOne.observe(this, result -> {
       // check if it is success, then call doRequestTwo()
       viewModel.doRequestTwo();
    });

    viewModel.requestTwo.observe(this, result -> {
       // check if it is success then call doRequestThree()
       viewModel.doRequestThree();
    });;

    viewModel.requestThree.observe(this, result -> {
       // Success
    });

}

现在我想知道有没有更好的方法来实现这种方法?因为我必须在几个活动中做这个场景

如果您想在 ViewModel 架构 上进行中继,最好在视图模型中包含有关请求、网络和数据的所有内容。因此,您示例中的所有这些逻辑都应该在 viewModel 中。您应该只观察最终结果,除非您还想在 UI 上显示部分结果。