TsLint抱怨调用顶级异步方法

时间:2018-08-20 12:22:18

标签: node.js typescript async-await tslint ecmascript-7

我已配置TsLint来警告未处理的承诺:

{
    "rules": {
        "no-floating-promises": [
          true,
          "Promise",
          "Q.Promise" 
        ],
    }
}

代码遵循standard template for build tasks for vsts

async function run() {
  try {
      ...
  } catch (err) {
      tl.setResult(tl.TaskResult.Failed, err.message);
  }
}

run(); // tslint complains here...

TsLint现在抱怨未兑现承诺,但是我无法在run之前添加等待...我不想在.then上混用运行,因为它引入了另一个异步范例。

ERROR: C:/Users/JesseHouwing/Source/Repos/....ts[16, 5]: Promises must be handled appropriately

这些任务是在Node中执行的,无需等待run方法,它可以正常工作...我可以安全地禁止这样做吗?有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

似乎我可以使用以下方法安全地隐藏该值:

async function run() {
  try {
      ...
  } catch (err) {
      tl.setResult(tl.TaskResult.Failed, err.message);
  }
}

void run(); // tslint no longer complains here and it's explicit :)

在顶级void方法前面插入run似乎可以解决这个问题。