【发布时间】:2021-10-25 10:42:09
【问题描述】:
我目前有如下方法:
async doCreateProduct(){
if(!canProceed){
throw new Error("Cannot Proceed");
}
// this.create product calls api to return an id
var generatedId = await lastValueFrom(this.createProduct());
if(generatedId != null){
// do other actions
}
}
我的问题是 - 我必须使方法异步,只是因为它需要等待从 createProduct 获取 generatedId 才能决定它是否会执行其他操作。
这是一个好方法吗?因为我相信该函数会期望返回一个 Promise。所以 throw new Error 部分实际上感觉不对。
我的单元测试也未能得到错误:未处理的承诺拒绝:
describe('When cannot proceed', () => {
it('should throw error', () => {
expect(() => service.doCreateProduct()).toThrowError();
});
});
知道我做错了什么吗?
【问题讨论】:
标签: angular