Node.js Async.Async

Node.js Async.Async,node.js,asynchronous,node-async,Node.js,Asynchronous,Node Async,我正在尝试使用在我的服务中创建响应。这是我的密码: var getUserObject = function(id, res) { 'use strict'; async.waterfall([ function(callback) { getCompleteUserObject(callback, id); } ], function(err, result) { res.json(result.user); }); // Functio

我正在尝试使用在我的服务中创建响应。这是我的密码:

var getUserObject = function(id, res) {
  'use strict';
  async.waterfall([
    function(callback) {
      getCompleteUserObject(callback, id);
    }
  ], function(err, result) {
    res.json(result.user);
  });
  // Function returns here
};

我希望我的return语句是res.jsonresult.user,但是瀑布函数总是返回上面注释过的代码。我一直在使用串联和并联功能,它们可以工作。我做错了什么?

您希望return语句是res.jsonresult.user是什么意思?瀑布式调用的本质是异步的,因此它没有结果并立即返回。getUserObject无法返回在对瀑布的调用中计算的值。您尝试执行的是的完全重复,仅在节点中。您不能将异步方法的结果返回到变量中供以后使用,您必须等待异步调用完成,这就是回调的目的,异步中间件只是一个帮助器,可以避免回调地狱。