首页 > 解决方案 > 在 JS 中处理成功

问题描述

我正在尝试使用 t 库,并尝试将功能安装到我自己的搜索栏中进行练习(仍然是学生)。

任何人都可以对这将采用的格式提供建议吗?

标签: javascriptnode.js

解决方案


@PascalLamers 答案是使用“等待”模式的最干净的方法。

用 Promise 链来看看这是什么样子的:

app.get('/:url', async function (req, res) {

  return wappalyzer
    .init()
    .then(function(){
       return wappalyzer.open(decodeURIComponent(req.params.url))
    })
    .then(function(site){
       return site.analyze()
    })
    .then(function(data){
       return res.status(200).json(data);
    })
    .catch(function(err){
      return res.status(500).json({ message : err.message })
    })
}

然后每个都执行一个异步操作,并在成功时将其结果传递给下一个then()操作。

每一个then()都只呼吁前一个的成功then()。如果在任何时候发生错误,catch()则执行并返回函数(在这种情况下,返回错误 500)。


推荐阅读