【发布时间】:2018-02-02 17:32:54
【问题描述】:
在异步函数中向上层抛出错误
这个
async create(body: NewDevice, firstTry = true): Promise<RepresentationalDevice> {
try {
return await this.dataAccess.getAccessToken()
} catch (error) {
throw error
}
}
VS 这个
async create(body: NewDevice, firstTry = true): Promise<RepresentationalDevice> {
return await this.dataAccess.getAccessToken()
}
我的意思是在上层的最后,无论如何我都必须捕捉到错误,并且在捕捉上根本没有任何修改
这两种方法是否相同?我可以在没有错误处理问题的情况下使用第二种方法吗?
【问题讨论】:
-
仅供参考,
async函数是 ES2017 的一部分,而不是 ES7 (ES2016)。 -
您的问题是什么?你是问用第二个例子行不行?
-
是的,两者都是一样的。它们也与
return this.dataAccess.getAccessToken()相同(唯一一次return await不等于return在try中)。 -
是的,那是我的问题。所以是完全一样的吧?
-
请解释一下。那是什么? “唯一一次 return await 不等于 return 在尝试中”@Ryan
标签: javascript ecmascript-2017