Hi Jan,

Am 13.02.2019 um 10:28 schrieb Jan Lehnardt:
> Hi Stephan,
>
> welcome to CouchDB and asynchronous programming :)
>
> Let’s annotate your code to see what’s happening:
>
>...

thank you for the detailed explanation! I understand now how the problem
is caused.

> There are multiple ways to solve this in asynchronous programming. One would 
> be a queue with a maximum parallel jobs setting that keeps concurrent 
> operations to a nice minimum, but eventually gets you all the results. I’ve 
> used https://www.npmjs.com/package/promise-queue in the past for this.

I will save that recommendation for a later stage in my journey to learn
asynchronous JavaScript programming... It is really surprising to me
that one is "condemned" to the asynchronous model in plain JavaScript
and that an extra package is needed to avoid the asynchronous mode if
desired.

> To get the same result in CouchDB, you can pass in the `include_docs` 
> parameter set to `true`, then CouchDB will fetch the doc bodies for you in 
> the original `larch.list()` request and include the doc bodies inside the 
> result set.

Using "larch.list({include_docs: true})" indeed does the trick, and the
program works as expected.

Thank you, Jan!
Stephan

Reply via email to