我正在使用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);
}
答案 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(...)
。
就是说,诺言被拒绝了,但是没有代码来处理诺言,您的代码将忽略它并继续执行。运行时会警告您。