Azure / azure-cosmosdb-js-server

The JavaScript SDK for server-side programming in Azure Cosmos DB
MIT License
179 stars 152 forks source link

Is it possible to reuse the same chained query for continuation ? #7

Open mdufourneaud-m2ocity opened 7 years ago

mdufourneaud-m2ocity commented 7 years ago

When I try to reuse the same chained query an error occurs "Encountered exception while executing function", is it normal ?

Here is my code: ` function getAsCsv(startDate, endDate) { var query = __.chain() .filter(function (message) { return true; }); if (startDate != null) { query = query.filter(function (message) { return (startDate <= message.providingDate); }); } if (endDate != null) { query = query.filter(function (message) { return (message.providingDate <= endDate); }); } query = query.sortBy/Descending/(function (message) { return message.providingDate; });

var result = [];

process(null);

function process(continuationToken) {
    var queryResponse =
    query.value(
        { pageSize: -1, continuation: continuationToken },
       function (error, messages, options) {            
            messages.forEach(function (message) {
                result.push(message.providingDate);
            });

            if (options.continuation != null) {
                process(options.continuation);
            }
            else {
                __.response.setBody(result);
            }
        });
    if (!queryResponse.isAccepted) {
        result.push(":(");
        __.response.setBody(result);
    }
}          

} `

mkolt commented 7 years ago

Can you please provide more details? Typically, this error would have exception and stack trace. Also, in the beginning of the callback, you should first check for error parameter, like this: if (error) throw error;

Actually, this would not be possible currently, but soon should work.