我有来自客户端的params,我想设置为<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="identity" match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="parent[not(x)]/y">
<xsl:element name="x">foo</xsl:element>
<xsl:call-template name="identity"/>
</xsl:template>
<xsl:template match="parent[not(y)]/z">
<xsl:if test="not(../x)">
<xsl:element name="x">foo</xsl:element>
</xsl:if>
<xsl:element name="y">foo</xsl:element>
<xsl:call-template name="identity"/>
</xsl:template>
</xsl:stylesheet>
路径,但是当我调用readFile
方法并且返回空数组时它不是设置变量,因为它没有读取目录。我如何纠正路径问题?
如果我这样做,它的确有效
readFile
如果我从用户输入设置var filesData = {};
console.log('SEARCH ENV PRINTING', searchEnv);
if (searchEnv === 'DIT') {
ditDirectory.readDirectory(function(files) {
filesData.logFiles = files;
filesData.searchEnv = searchEnv;
asyncFiles(filesData);
});
} else if (searchEnv === 'St') {
stDirectory.readDirectory(function(files) {
filesData.logFiles = files;
filesData.searchEnv = searchEnv;
asyncFiles(filesData);
});
}
fs.readFile('logs/dit/'+ logfile.filename, 'utf8', function (err, data) {
console.log('inside readFile', data);
if (err) {
return done(err);
}
});
,则不起作用
filesData.searchEnv
答案 0 :(得分:1)
如果你真的按照你描述的顺序打电话,filesData.searchEnv
在你拨打fs.readFile
时什么也不会包含任何内容,因为你只在readDirectory
的异步回调中为其分配值。
因此,您必须将文件读取调用放入回调中或使用promise等待有效数据。