相关疑难解决方法(0)

如何避免在Node.js中长时间嵌套异步函数

我想创建一个显示来自数据库的一些数据的页面,所以我创建了一些从我的数据库中获取数据的函数.我只是Node.js的新手,所以据我所知,如果我想在一个页面中使用所有这些(HTTP响应),我必须将它们全部嵌套:

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  var html = "<h1>Demo page</h1>";
  getSomeDate(client, function(someData) {
    html += "<p>"+ someData +"</p>";
    getSomeOtherDate(client, function(someOtherData) {
      html += "<p>"+ someOtherData +"</p>";
      getMoreData(client, function(moreData) {
        html += "<p>"+ moreData +"</p>";
        res.write(html);
        res.end();
      });
    });
  });
Run Code Online (Sandbox Code Playgroud)

如果有很多这样的函数,那么嵌套就成了问题.

有办法避免这种情况吗?我想这与你如何组合多个异步函数有关,这似乎是一个基本的东西.

javascript asynchronous functional-programming node.js

156
推荐指数
8
解决办法
6万
查看次数