相关疑难解决方法(0)

如何避免node.js中深层嵌套的代码?

在node.js中,它是事件驱动的,所有I/O都是通过回调完成的.所以我最终编写的代码如下所示:

app.get('/test', function (req, res) {
  http.get('some/place', function (req1, res1) {
    if (res1.statusCode == 200) {
      res1.on('data', function (data) {
        http.get('other/place?q=' + data, function (req2, res2) {
          if (res2.statusCode == 200) {
            res2.on('data', function (data) {
              db.query(data).on('data', function (rows) {
                res.writeHead(200)
                res.end(JSON.stringify(rows))
              })
            })
          }
        })
      })
    }
  })
})

这甚至不包括错误处理.

我该怎么做来解开这个烂摊子?

node.js

9
推荐指数
3
解决办法
3194
查看次数

标签 统计

node.js ×1