Im mit Electron remote
Funktion, um ein Knotenmodul, das eine Bluebird Versprechen zurückgibt. Ich kann jedoch nicht herausfinden, wie die versprochene Rückgabe an den Rendererprozess zurückgegeben wird, der das Modul aufruft.Rückgabe eines Bluebird Versprechen zum Elektronen-Renderer-Prozess
Mit diesem Code ist der Wert return_data1
immer leer.
exports.call_python = function() {
data1 = []
var Promise = require('bluebird');
var exec = require('child_process').execFile;
function promiseFromChildProcess(child) {
return new Promise(function (resolve, reject) {
child.addListener("error", reject);
child.addListener("exit", resolve);
});
}
var child = exec('ls');
promiseFromChildProcess(child).then(function (result) {
console.log('promise complete: ' + result);
}, function (err) {
console.log('promise rejected: ' + err);
});
child.stdout.on('data', function (data) {
console.log('stdout: ' + data);
data.push={data: data}
});
child.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
child.on('close', function (code) {
console.log('closing code: ' + code);
});
return data1
};
Bitte entfernen Sie den 'java'-Tag. – blafasel