我有一段使用jsftp来获取文件内容的代码。它有时可以工作并进入get函数,有时由于我不知道的原因而被跳过。我是Node的新手(几乎在编程中),所以它可能有些愚蠢,但是我无法说出为什么有时它会起作用而有时会返回未定义状态。
if (newestName !== "") {
var filePath = path + "/" + newestName;
var str = "";
jsFTP.get(filePath, (err, socket) => {
if (err) {
console.log("error");
return;
}
socket.on("data", d => {
str += d.toString();
if (str.length > 0) {
debugger;
update(str);
console.log("Sending: " + str);
}
});
socket.on("close", err => {
if (err) {
console.error("There was an error retrieving the file.");
} else {
write();
}
});
socket.resume();
});
更新: 如果每秒执行一次代码,则效果很好