Wie kann ich eine rxjs-Observable in Winkel 2 von einer asynchronen LinvoDB Datenbankabfrage in Elektron bekommen?Wie erstelle ich eine Observable von der Abfrage?
im Hauptprozess:
exports.load = function(parameters){
var l = parseInt(parameters.l);
var t = parseInt(parameters.t);
var r = parseInt(parameters.r);
var b = parseInt(parameters.b);
return cmelement.find({
$or: [
{$and: [{x0: { $gt: l, $lt: r }}, {y0: { $gt: t, $lt: b }}]},
{$and: [{x1: { $gt: l, $lt: r }}, {y1: { $gt: t, $lt: b }}]}
]
}).filter(function(x){ return x !== undefined })
.exec(function (err, doc) {
console.log(doc); // outputs the correct data
return doc;
});
};
in den Renderer-Prozess I electron.remote verwenden, um die Funktion aufzurufen:
getElements(parameters) {
Observable.of(elementController.load(parameters))
.subscribe((x) => console.log(x)); // outputs 'undefined'
}
Außerdem habe ich versucht, eine Vielzahl anderer Methoden wie die beobachtbare erklärt als eine Variable und Zusammenführen der Ergebnisse von db, setzen Sie die Abfrage als live(), erhalten Sie die Daten über ipc. Was mache ich falsch?
Vielen Dank, funktionierte perfekt mit Ihrem Code. – Patrick
Bitte @Patrick, wenn Sie zufrieden sind, markieren Sie diese Antwort als die richtige! Vielen Dank! – Jorge