Тайм-аут для Kotlin сопрограммы в момент времени или отметки времени, а не после продолжительности - PullRequest
0 голосов
/ 03 августа 2020

Kotlin предлагает withTimeout тайм-аут сопрограммы через указанное количество миллисекунд.

Есть ли вместо этого удобный способ тайм-аута сопрограммы в заданный момент времени? например, если бы я хотел отключить сопрограмму сегодня в полночь, что-то вроде следующего:

val midnightTonightMillis: Long = ...

// a bit clumsy and prone to bugs
withTimeout(midnightTonightMillis - System.currentTimeMillis()) {
    ...
}

// a better way? (with `Instant` or similar instead of `Long` of course)
timeoutAt(midnightTonightMillis) {
    ...
}
...