我是新的蜜蜂学习节点js。我正在尝试从同一目录中读取文件,然后使用文件系统的(fs)readFile方法打印其内容。当我运行它时,我发现程序没有进入这个方法。我试图把console.log()放在readFile方法中,我发现它没有在这个方法内部打印任何内容。无法使用fs nodejs读取文件
我不知道到底发生了什么,为什么它跳过这种方法。
这里是我使用的摩卡
"use strict";
var fs = require('fs'),
path = require('path');
module.exports.getEmailVariables = function(name, next) {
name = "running?";
var err = "";
var data1;
var filePath = path.join(__dirname, 'sample.txt');
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
console.log(name);
if (!err){
console.log('received data: ' + data);
data1 = data
}else{
console.log(err);
}
});
next(err, data1);
};
我test.js运行帆布util.js中文件包含
var canvasUtil = require("../utils/canvas-util");
var assert = require("assert");
describe('Mindrill', function() {
this.timeout(30000);
it('getEmailVariables should return Email variables', function (done) {
var name="";
canvasUtil.getEmailVariables(name, function(err, results) {
assert.notEqual(null, results);
done();
});
});
});
而sample.txt的只包含 “喜”。
检查是否将文件中的字符串获取到变量'data1'以便通过测试。任何的意见都将会有帮助。
几乎看着这篇文章http://stackoverflow.com/questions/21963858/how-to-read-file-to-variable-in-nodejs,在我改变的时间内我得到了你的答案..异步是真的在节点js编程时需要考虑一个大问题。谢谢。 – Deepak 2014-10-21 21:25:44