Это более общий вопрос, но я просто не мог написать его в более общем виде, поэтому мне пришлось использовать пример, с которым я имею дело.
Как бы то ни было, я посмотрел async + await, но кажется, что Promise с функцией стрелки разрешения не может использоваться в этом примере.Так возможно ли реорганизовать эту функцию и вызывать код таким образом, чтобы код после вызова getFeaturesFromStream не вызывался до того, как вызывается код ('end')?
private features : FeatureObject[] = [];
getFeaturesFromStream() {
const url = 'http://localhost:19100/api/v1/fetch?cgid=22&north=6853000.0&east=24505000&south=6850000.0&west=24500000.0';
var self = this;
oboe(url)
.node('!', (row) => {
console.log(row);
self.features.push(row);
})
.on('end', () => {
console.log('only after this we can proceed');
});
}
async getFeatures() : Promise<void> {
getFeaturesFromStream();
codeNotTobeCalledBeforeArrayReady();
}