我想使用node js返回文件的内容
I want to return the contents of file using node js
我用protractor编写了以下代码。
helper.js:
var fs = require('fs');
helper = function(){
this.blnReturn = function(){
var filePath = '../Protractor_PgObjModel/Results/DontDelete.txt';
fs.readFileSync(filePath, {encoding: 'utf-8'}, function (err, data){
if (!err) {
console.log(data);
return data;
} else {
return "False";
}
});
};
};
module.exports = new helper();
------------ 实际的文件,上面的js被称为 -------------------
describe("read contents of file",function(){
var helper = require("../GenericUtilities/helper.js");
it('To Test read data',function(){
console.log("helper test - " + helper.blnReturn());
});
});
——输出 -------------
helper test - undefined
在这方面的任何帮助是非常感激的,因为它阻碍了我的工作。
您混淆了同步读取文件(readFileSync
)和异步读取文件(readFile
)。
如果您试图同步读取文件,但也使用回调参数,正确的方法是
return fs.readFileSync(filePath, {encoding: 'utf-8'});
或
this.blnReturn = function(cb){
...
fs.readFileSync(filePath, {encoding: 'utf-8'}, function (err, data){
if (!err) {
console.log(data);
cb(data);
} else {
cb("False");
}
});
也,在一个不相关的注意,var
关键字在helper
定义中缺失,helper.js可以简化为:
var fs = require('fs');
function helper(){}
helper.prototype.blnReturn = function(){
var filePath = '../request.js';
return fs.readFileSync(filePath, {encoding: 'utf-8'});
};
module.exports = new helper();
相关文章:
- CKFinder 3为所选文件返回错误的URL
- 使用ajax上传的文件返回错误,但使用c#在asp.net的服务器端正常提交的文件
- 通过AJAX发送文件返回'blob'错误
- NodeJS FS 不从多个文件返回数据
- AngularJS $http GET 请求到本地 JSON 文件返回语法错误:意外令牌]
- 文件在目录中,但isDirectory()为文件返回false
- 如何在 .ajax jquery 中从 php 文件返回值
- 如何通过 AJAX 从 PHP 文件返回 JavaScript
- 如何在 angularjs 工厂中使用 json 文件返回对象数组
- 编写从 XML 文件返回数据的搜索字段脚本
- 从外部 js 文件返回样式表
- 从单独的文件返回 AJAX 响应文本
- 从读取文件返回未定义
- NodeJS编辑二进制文件比将文件返回给用户
- 使用JQuery从JSON文件返回数组
- ajax调用不会从外部JS文件返回数据
- 无法使用AngularJS中的HTTP get调用从JSON平面文件返回结果
- 使用AJAX将Javascript字符串发送到PHP文件,然后从文件返回数组
- 如何将Javascript对象传递给php以进行sql查询,并将数据作为下载的csv文件返回
- 搜索文本文件返回一个数字