Я использую следующий код, который хорошо работает, Currenlty pars.getEx возвращает строку для запуска в метод processExe, теперь мне нужно как-то передать также порта от другой функции к processExe, как я могу это сделать?Добавить addional метода пообещать цепочку
var portscanner = require('portscanner');
var Promise = require('bluebird');
var fs = Promise.promisifyAll(require("fs"));
.....
return fs.readFileAsync(filePath, 'utf8')
.then(pars.getEx.bind(null, 'user'))
.then(processExe.bind(null, 'exec'))
.then(function (result) {
return result.stdout;
}, function (error) {
return error;
});
processExe выглядит следующим образом
function processExe(method, cmd) {
return new Promise(function (resolve, reject) {
var child = child_process[method](cmd, function (error, stdout, stderr) {
Порт может быть достигнуто с помощью следующей ОС
https://github.com/baalexander/node-portscanner
portscanner.findAPortNotInUse(3000, 4000, 'localhost', function (error,
port) {
UPDATE
к processExe я должен предоставить порт, как следующий
порт должен исходить от findPort
var options = {
PORT: port,
};
и здесь я также передать варианты
var child = child_process[method](cmd,options, function (error, stdout,
'processExe' не кажется для параметра «port». – Bergi
@Bergi - yep, так как я не знаю, как правильно добавить его к нему ... –
И как бы «порт» использовался в 'processExe'? Вы знаете это, не так ли (просто чтобы я понял вопрос). Функция должна стоять сама по себе, поэтому, если ей нужен дополнительный параметр, просто дайте ему параметр.Как это будет называться - это другая вещь – Bergi