Derzeit kann ich eine Antwort abrufen, wenn ich auf meinem Endpunkt, aber nur einmal. Jede zusätzliche Anfrage an meinen Server löst eine stream error: Stream already being consumed, you must either fork() or observe()
aus.Abfrage nicht mehr als einmal mit Streams
Mein Stapel: Knoten, Express, Highlandjs, Mongodb.
//server.js
app.get('/queries', query.calculateTotal);
// mein Endpunkt Funktion
var _ = require('lodash')
var sg = require("reactive-superglue")
var query = sg.mongodb("mongodb://localhost:27017/qatrackerdb").collection("test1")
exports.calculateTotal = function (err, res) {
query.find()
.collect()
.map(function(x) {
console.log(x)
return _.size(x)
})
.apply(function(x) {
return res.status(200).json(x)
})
}
Die Serverantwort nach dem zweiten Versuch meinen Endpunkt bei Kollision: curl -i -X GET http://localhost:3000/queries/
GET /queries/ 200 34.442 ms - 632
GET /queries/ - - ms - -
GET /queries/ 500 2.371 ms - 1998
Error: Stream already being consumed, you must either fork() or observe()
at Stream._addConsumer
Könnten Sie den Code angeben, in dem calculateTotal verwendet wird? – Stefano