在使用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 {
...
};
}
}
};
有什么想法吗?感谢
答案 0 :(得分:0)
我不确定我是否正确理解了你的问题以及它与棱角分明或茉莉花有什么关系,但是这样的事情呢:
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;
});
}