我是学习节点js的新手。我正在尝试从同一目录读取文件,然后使用文件系统的(fs)readFile方法打印其内容。我看到程序在运行时没有进入此方法。我尝试将console.log()放入readFile方法中,但发现该方法中未打印任何内容。
我不知道确切发生了什么,以及为什么它跳过了这种方法。
这是我正在使用摩卡运行的canvas-util.js文件
"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包含
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仅包含“ hi”。
检查是否将文件中的字符串获取到变量“ data1”,以便通过测试。任何的意见都将会有帮助。
fs.readFile()
是异步的。将您的内容next(err, data1);
放入fs.readFile()
回调中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句