在使用Jasmine框架进行Angular测试期间,是否可以等待作为对象一部分的属性?
private async hasID(items: Items[]): Promise<boolean> {
for (const item of items) {
try {
this.info = (await item.promise).json();
} catch (err) {
continue;
}
}
return false;
}
我的测试中的this.connectorInfo
返回undefined
因为我不确定如何等待此响应返回然后再继续。我理解等待async
方法完成,但对象的属性似乎不同。
我把这个对象嘲笑为:
item = {
promise: Promise.resolve({
json: () => {
return {
...
};
}
}
};
有什么想法吗?谢谢
我不确定我是否正确理解了您的问题以及它与 Angular 或 Jasmine 的关系,但是类似的事情呢:
private async hasID(items: Items[]): Promise<boolean> {
let promises = [];
let info = [];
for (const item of items) {
let promise = item.promise().then((data) => {
info.push(data.json());
return data;
})
promises.push(promise);
}
return Promise.all(promises).then(() => {
// here is some logic that verifies this.info contents
return false;
});
}