agrosner/DBFlow

Can't query with defer

epolar opened this issue · 2 comments

DBFlow Version: 5.0.0-alpha2

Bug or Feature Request: defer is suspend, is my code fault?

Description:
code on my repository:

    fun getDefaultPaymentAsync(): Deferred<Payment?> {
        return (select from Payment::class
                where (Payment_Table.is_delete.`is`(false))
                orderBy OrderBy.fromProperty(Payment_Table.is_default).descending()
                orderBy OrderBy.fromProperty(Payment_Table.last_modify_time).descending()
                ).async(database) { d -> querySingle(d) }
            .defer()
    }

code how I use it:

        runBlocking {
            PaymentRepository
                .getDefaultPaymentAsync()
                .await().let { setPayment(it) }  // suspend here, setPayment never be invoke.
         }

My fault, I should use GlobalScope.launch not runBlocking.