【发布时间】:2021-07-02 16:17:20
【问题描述】:
在片段或活动中,是否有推荐的顺序来设置观察者和启动数据生产者?
例如,假设没有其他人在获取数据或观察,那么:
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// OPTION A: this seems bullet-proof. Setup the observer first,
// then trigger the generation of the data...
// ----------------------------------------------------------
// 1) setup observer
mainViewModel.myResponse.observe(viewLifecycleOwner, { response -> {...} })
// 2) initiate data fetching
mainViewModel.generateFetchInBackground()
// OPTION B: this is what I sometimes see done. This seems like
// a race condition since the triggering of generation happens
// first, then the observer is established...
// ----------------------------------------------------------
// 1) initiate data fetching
mainViewModel.generateFetchInBackground()
// 2) setup observer
mainViewModel.myResponse.observe(viewLifecycleOwner, { response -> {...} })
}
【问题讨论】:
标签: kotlin android-livedata observers