我正在做一个项目,我正在使用Tessel读取服务器上的文本文件,并根据该值执行一个函数。我是node.js的新手,并且已经成功地运行了大部分项目,但我在进行比较时遇到了问题。
我知道它正在读取值(可能是"1“或"0"),因为当我在代码中合并console.log(//变量)时,控制台会显示该值。
我一直在尝试的基本代码是:
var http = require('http');
setInterval(function() {
var options = {
host: 'www.users.wfleitz.com',
path: '/fleitzwc/example.txt'
};
callback = function(response) {
var str = '';
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
console.log(str)
if (str == "1"){
console.log("It reads fine ")
}
});
}
http.request(options, callback).end();
}, 1000);我尝试移动"if“语句,也尝试使用"if”语句:
if (str.toString == "1"){
console.log("It reads fine ")
}谁能告诉我这是一个位置问题,还是语法问题?或者如果我都错了?我想这可能是一个问题,尽管文件中应该只有"1“或"0”,但我有一些实例需要裁剪文件内容,以确保我只获得一个值,但我无法在node.js中找到这样做的方法。
提前谢谢你,WFleitz
发布于 2015-04-29 23:09:10
您需要像这样调用toString()函数:
if (str.toString() == "1") {
// Note ------^^ parens actually call the function.
console.log("It reads fine ")
}发布于 2015-04-30 00:57:48
我最终使用了如下的trim()方法:
response.on('end', function () {
var strTrim = str.trim();
console.log(strTrim)
if (strTrim == "1"){
console.log("It reads fine")
}
} 再次感谢你们的帮助。
https://stackoverflow.com/questions/29947636
复制相似问题