我正在SSH2SHell
NPM module上工作,并且能够使用基本示例连接到我的服务器并执行一些命令。该问题与回调函数有关,
app.get('/data', function(req, resp) {
var host = {
server: {
host: "127.0.0.1",
userName: "test",
password: "1234",
},
commands: [ "echo $(pwd)"]
};
var SSH2Shell = require ('ssh2shell'),
//Create a new instance passing in the host object
SSH = new SSH2Shell(host),
//Use a callback function to process the full session text
callback = function(sessionText){
var finalResponse = sessionText;
console.log(finalResponse);
return finalResponse;
}
//Start the process
SSH.connect(callback);
resp.json({
"code": 200,
"data": callback
});
});
我可以在控制台中获得sessionText
,但未定义它为最终的json响应。我曾使用Nodejs,但在回调函数方面苦苦挣扎。
我猜想在回调发生之前执行的最终JSON响应。那么如何在最终响应中使用回调的响应?
如何在最终回复中获取sessionText
数据?
编辑- 我想我的问题有点不同,因为在使用回调的最终响应中,我得到了整个文本作为响应,
function(sessionText){
var finalResponse = sessionText;
console.log(finalResponse);
return finalResponse;