package Ġcom . ta once . mv vm . util Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġkotlinx . coroutines . Coroutine ExceptionHandler Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . launch Ċ Ċ /** Ċ Ġ* ĠAuthor : ĠTa once Ċ Ġ* ĠDesc : ĠView Mode å¸¦ æĭ ¦ æĪª åĬŁèĥ½ åĲ¯åĬ¨ launch Ċ Ġ*/ Ċ Ċ fun ĠViewModel . launch ( ĊĠĠĠ Ġblock : Ġsuspend ĠCor outine Scope . () Ġ-> ĠUnit , ĊĠĠĠ ĠonError : Ġ( e : ĠThrowable ) Ġ-> ĠUnit Ġ= Ġ{}, ĊĠĠĠ ĠonComplete : Ġ() Ġ-> ĠUnit Ġ= Ġ{} Ċ ) Ġ{ ĊĠĠĠ ĠviewModel Scope . launch ( context Ġ= ĠCor outine ExceptionHandler Ġ{ Ġ_, Ġe Ġ-> ĠonError ( e ) Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock . invoke ( this ) ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonComplete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ