Итак, у меня есть функция, которая принимает идентификатор и возвращает соответствующую карту свойств через обещание.Поэтому я сделал цикл и повторил свою функцию со всеми моими идентификаторами, но он никогда не выполняет код вне цикла.
async getProps(dbId) {
const properties = Viewer.properties //creates an empty map
return new Promise((resolve, reject) => {
let prom = new Promise((resolve, reject) => {
this.gui.getProperties(
dbId,
args => {
console.log('properties', args)
resolve(args.properties)
},
reject
)
})
prom.then(props => {
properties.set(dbId, props)
resolve(properties.entries())
})
console.log('properties', properties)
}
)
}
Я хочу создать карту с идентификатором в качестве ключа и массивомсвойства как ценность.Это происходит по назначению.
Так я использую функцию
async getConcreteIds() {
let wallfloorids = this.getWallIds().concat(this.getFloorIds());
// let concreteIds = [];
for(let id of wallfloorids) {
let p1 = await this.view.getProps(id);
console.log(p1);
}
console.log("Hello");
}
. Я перебираю свои идентификаторы и вызываю функцию getProperties
, и она записывает карту в соответствии с назначением.Но это никогда не выходит из цикла.wallfloorids
имеет 52 записи, поэтому это не бесконечный цикл.Я думаю, что структура моей функции getProperties является причиной, но я не знаю, что изменить.Я попытался изменить структуру, но затем он возвращает пустую карту, и остальная часть кода выполняется.Спасибо!