在缓存中存储node.js变量

时间:2014-04-29 21:48:05

标签: node.js

我正在缓存中存储(使用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") );
    }
}

1 个答案:

答案 0 :(得分:0)

要存储在缓存中,您需要将方法.putcache.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") );
    }
}