공식 문서에 따르면 지정된 시간이 지나고 난 후 항목을 하나 배출하는 Observable을 생성한다고 설명이 되어있습니다. 주로 주어진 시간이 지나고 값을 발행하는 일회성 작업이나 지연 실행이 필요한 경우에 사용이 된다.
Timer
연산자는 Long 타입의 delay
파리미터 값에는 값이 발행하기까지의 지연 시간을 의미한다. timeUnit
은 delay
의 시간 단위를 나타내는 파라미터이다.
Observable.timer(delay, timeUnit)
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
timerOperator().subscribe(
{
Log.d("timerOperator","onNext : $it")
getLocation()
},
{
Log.d("timerOperator","onError ${it}")
},
{
Log.d("timerOperator","onComplete")
}
).let { _ -> }
}
fun timerOperator(): Observable<Long> {
return Observable.timer(10, TimeUnit.SECONDS)
}
fun getLocation(){
Log.d("timerOperator","안녕하세요~")
}
}