Fix triggering onComplete when there is no data
Fix onComplete() not always triggering