未处理的承诺拒绝警告

时间:2019-08-28 15:15:25

标签: javascript typescript unhandled

我正在使用Promise.reject

我收到此警告:未处理的承诺拒绝警告:1.1版本未发布

如何解决此警告?

感谢您的帮助

public async retrieveVersionFromJira(versionName: string): Promise<ReleaseVersion> {
        const searchVersionsUri = config.jiraApiUri + 'versions';
        const jsonResp = await this.jiraClient.get(searchVersionsUri);
        const version: any = jsonResp.find(version => {
            if (version.name == versionName) {
                if (version.released == true) {
                    return Promise.reject("version " + versionName + " is not released");
                }
            }
        });
        if (!version) {
            return Promise.reject("missing version " + versionName + " on jira");
        }
        return new ReleaseVersion(version.id, version.name, version.released);
    }

2 个答案:

答案 0 :(得分:0)

调用函数时,如果使用async / await,则需要使用try / catch块;如果直接使用Promise,则需要使用.catch()处理程序:

   {
 "env": {
  "name":"Dev"
 },

 "apiServer" : {
  "link1" :"http://amazon.com",
  "link2" :"http://ebay.com"
},

}

答案 1 :(得分:0)

无论您何时调用此函数,都不会在承诺链中拥有.catch,也不会在异步上下文中的try / catch周围没有await retrieveVersionFromJira(...)

就是说,诺言被拒绝了,但是没有代码来处理诺言,您的代码将忽略它并继续执行。运行时会警告您。