From 7cce64fcd472a2c55f83ab19a8c5eb0a69257bde Mon Sep 17 00:00:00 2001 From: legendecas Date: Wed, 8 Jul 2020 01:14:19 +0800 Subject: [PATCH] refactor: remove unnecessary new Promise operation (#1277) --- packages/opentelemetry-metrics/src/Meter.ts | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/packages/opentelemetry-metrics/src/Meter.ts b/packages/opentelemetry-metrics/src/Meter.ts index 0842eefabd3..08dd71fb55f 100644 --- a/packages/opentelemetry-metrics/src/Meter.ts +++ b/packages/opentelemetry-metrics/src/Meter.ts @@ -21,7 +21,6 @@ import { BatchObserverMetric } from './BatchObserverMetric'; import { BaseBoundInstrument } from './BoundInstrument'; import { UpDownCounterMetric } from './UpDownCounterMetric'; import { CounterMetric } from './CounterMetric'; -import { MetricRecord } from './export/types'; import { ValueRecorderMetric } from './ValueRecorderMetric'; import { Metric } from './Metric'; import { ValueObserverMetric } from './ValueObserverMetric'; @@ -231,20 +230,14 @@ export class Meter implements api.Meter { * each aggregator belonging to the metrics that were created with this * meter instance. */ - collect(): Promise { - return new Promise((resolve, reject) => { - const metrics: Promise[] = []; - Array.from(this._metrics.values()).forEach(metric => { - metrics.push(metric.getMetricRecord()); + async collect(): Promise { + const metrics = Array.from(this._metrics.values()).map(metric => { + return metric.getMetricRecord(); + }); + await Promise.all(metrics).then(records => { + records.forEach(metrics => { + metrics.forEach(metric => this._batcher.process(metric)); }); - Promise.all(metrics) - .then(records => { - records.forEach(metrics => { - metrics.forEach(metric => this._batcher.process(metric)); - }); - resolve(); - }) - .catch(reject); }); }