Selectors methods have four properties that change value depending of the current status: loading, error, value and stats
console.log(books.read.value) // undefined
booksWithAuthors.read();
console.log(books.read.loading) // true
console.log(await booksWithAuthors.read()) // value returned by parser function.
console.log(books.read.loading) // false
console.log(books.read.value) // value returned by parser function.The stats property can be used to determine how many times a selector method has been dispatched, successfully read or errored.
It contains three counters corresponding to each method "action":
dispatch- Increased each time the read method is dispatched and there is no cache.success- Increased each time the read method is called and it is resolved. No matter if result comes from cache or not.error- Increased each time the read method is called and it is rejected. No matter if result comes from cache or not.
console.log(books.read.stats.dispatch) // 0
console.log(books.read.stats.error) // 0
console.log(books.read.stats.success) // 0
booksWithAuthors.read();
console.log(books.read.stats.dispatch) // 1
await booksWithAuthors.read()
console.log(books.read.stats.success) // 2