Creates the two readers of a DataSource over a list: reader runs
queryItems, countReader runs countItems. Both call
getItems when invoked, so the consumer can swap the data between two
reads, and both resolve on the next microtask, so isReading of the data
source is observable.
Creates the two readers of a
DataSourceover a list:readerruns queryItems,countReaderruns countItems. Both callgetItemswhen invoked, so the consumer can swap the data between two reads, and both resolve on the next microtask, soisReadingof the data source is observable.