Node.js 在ssh2 sftp客户端中读取多个文件

Node.js 在ssh2 sftp客户端中读取多个文件,node.js,ssh,sftp,Node.js,Ssh,Sftp,我正在从sftp客户端获取多个文件,对于每个文件,我都想处理它,但它不会发生。请告诉我 let Client = require('ssh2-sftp-client'); let sftp = new Client(); let fileName = [] sftp.connect({ host: '', port: '', username: '', password: '' }).the

我正在从sftp客户端获取多个文件,对于每个文件,我都想处理它,但它不会发生。请告诉我

let Client = require('ssh2-sftp-client'); let sftp = new Client(); let fileName = [] sftp.connect({ host: '', port: '', username: '', password: '' }).then(() => { return sftp.list(basePath); } ).then(data => { data.forEach(file => { let pathName = basePath + data[0].name; console.log(pathName) sftp.get(pathName, (data) => { console(data) }) }) }) .catch(err => { console.log(err, 'catch error'); }); let Client=require('ssh2-sftp-Client'); 设sftp=newclient(); 让文件名=[] 连接({ 主机:“”, 端口:“”, 用户名:“”, 密码:“” }).然后(()=>{ 返回sftp.list(基本路径); } )。然后(数据=>{ data.forEach(文件=>{ 让pathName=basePath+data[0].name; console.log(路径名) sftp.get(路径名,(数据)=>{ 控制台(数据) }) }) }) .catch(错误=>{ log(err,'catch error'); });
你说“它没有发生”是什么意思?运行代码时会发生什么?它会记录您期望的文件名吗?您是否收到任何错误消息?服务器中有两个文件..我想一个接一个地读取它们,并在处理后对其进行处理..sftp.get()显示错误..如果删除for each循环并放置一个.then(data)数据,则数据就来了..但是如果我采用该路径,则无法对每个循环使用“sftp.get()显示错误”错误消息是什么?(节点:12984)未处理PromisejectionWarning:TypeError:wtr.once不是一个函数这是返回一个承诺..但我无法使用它..const data=wait.sftp.get(路径名)…这也是一个运行错误