我正在缓存中存储(使用node {js的memory-cache
库),由于某种原因,回调始终在newResult
变量中返回null。我做错了什么?
var getMapping = function(callback){
if( cache.get("mapping") == null ){
var parser = new xml2js.Parser();
fs.readFile('flow.xml', function(err, data) {
parser.parseString(data, function (err, result) {
var jsonFile = JSON.stringify(result);
var newResult = result = jsonFile;
callback( newResult );
});
});
} else{
callback( cache.get("mapping") );
}
}
答案 0 :(得分:0)
要存储在缓存中,您需要将方法.put
与cache.put(key, value)
一起使用。
请尝试使用以下代码:
var getMapping = function(callback){
if( cache.get("mapping") == null ){
var parser = new xml2js.Parser();
fs.readFile('flow.xml', function(err, data) {
parser.parseString(data, function (err, result) {
var jsonFile = JSON.stringify(result);
var newResult = result = JSON.parse(jsonFile);
cache.put("mapping", newResult);
callback( newResult );
});
});
} else{
callback( cache.get("mapping") );
}
}