JavaScript / node.js从模型中获取数据

时间:2012-08-17 22:13:44

标签: javascript node.js closures

我100%肯定必须有一些简单的答案,但今天我在谷歌上搜索。代码中的问题。

async.waterfall([
  function(callback){
    callback(null, 'some value..');
  }
  ],
  function (err, result) {
    // how do I get result outside of this block?
   }
);

如果我在此块之外设置一个变量并尝试为其分配“result”,那么由于JavaScript范围的性质,它不会出现阻塞。

谢谢!

1 个答案:

答案 0 :(得分:1)

感谢大家的回答。我做了什么 - 我改用了一个名为“step”的模块。它让我做以下事情:

step = require('step');

var responseData = '{"a":1, "b":2}';

step(
  function someFunction1 () {
    // We do something here and return the result
    return '3';
  },
  function someFunction2 (err, result) {
    // We try to modify the variable that has been defined outside this block
    responseData.c = result;
  }
);

// responseData now returns {"a":1, "b":2, "c":3}

也许我可以用异步做同样的事情 - 我不知道。但上述工作正是我想要的方式。