Skip to content

Commit 5382bd2

Browse files
committed
refactor: replace function() callbacks with arrow functions
1 parent d9f4b69 commit 5382bd2

File tree

1 file changed

+49
-52
lines changed

1 file changed

+49
-52
lines changed

src/js/app.js

Lines changed: 49 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ const SpeedTest = {
161161
console.warn('Failed to fetch token, running without priority access:', err);
162162
}
163163

164-
const self = this;
165164
return ndt7.test(
166165
{
167166
clientRegistrationToken: token,
@@ -175,90 +174,89 @@ const SpeedTest = {
175174
}
176175
},
177176
{
178-
serverChosen: function(server) {
179-
self.els.location.textContent = server.location.city + ', ' + server.location.country;
177+
serverChosen: (server) => {
178+
this.els.location.textContent = server.location.city + ', ' + server.location.country;
180179
console.log('Testing to:', {
181180
machine: server.machine,
182181
locations: server.location,
183182
});
184183
},
185-
downloadStart: function() {
186-
self.els.currentPhase.textContent = i18n.t('Download');
187-
self.els.currentSpeed.textContent = i18n.t('Initializing');
184+
downloadStart: () => {
185+
this.els.currentPhase.textContent = i18n.t('Download');
186+
this.els.currentSpeed.textContent = i18n.t('Initializing');
188187
},
189-
downloadMeasurement: function(data) {
188+
downloadMeasurement: (data) => {
190189
if (data.Source === 'client') {
191-
self.els.currentSpeed.textContent = data.Data.MeanClientMbps.toFixed(2) + ' Mb/s';
192-
const progress = (data.Data.ElapsedTime > self.TIME_EXPECTED) ? 0.5 :
193-
data.Data.ElapsedTime / (self.TIME_EXPECTED * 2);
190+
this.els.currentSpeed.textContent = data.Data.MeanClientMbps.toFixed(2) + ' Mb/s';
191+
const progress = (data.Data.ElapsedTime > this.TIME_EXPECTED) ? 0.5 :
192+
data.Data.ElapsedTime / (this.TIME_EXPECTED * 2);
194193
ProgressGauge.progress(progress);
195194
}
196195
},
197-
downloadComplete: function(data) {
198-
self.measurementResult.s2cRate =
196+
downloadComplete: (data) => {
197+
this.measurementResult.s2cRate =
199198
data.LastClientMeasurement.MeanClientMbps.toFixed(2) + ' Mb/s';
200-
self.measurementResult.latency =
199+
this.measurementResult.latency =
201200
(data.LastServerMeasurement.TCPInfo.MinRTT / 1000).toFixed(0) + ' ms';
202-
self.measurementResult.loss =
201+
this.measurementResult.loss =
203202
(data.LastServerMeasurement.TCPInfo.BytesRetrans /
204203
data.LastServerMeasurement.TCPInfo.BytesSent * 100).toFixed(2) + '%';
205-
self.els.s2cRate.textContent = self.measurementResult.s2cRate;
206-
self.els.latency.textContent = self.measurementResult.latency;
207-
self.els.loss.textContent = self.measurementResult.loss;
204+
this.els.s2cRate.textContent = this.measurementResult.s2cRate;
205+
this.els.latency.textContent = this.measurementResult.latency;
206+
this.els.loss.textContent = this.measurementResult.loss;
208207
console.log(data);
209208
},
210-
uploadStart: function() {
211-
self.els.currentPhase.textContent = i18n.t('Upload');
212-
self.els.currentSpeed.textContent = i18n.t('Initializing');
209+
uploadStart: () => {
210+
this.els.currentPhase.textContent = i18n.t('Upload');
211+
this.els.currentSpeed.textContent = i18n.t('Initializing');
213212
},
214-
uploadMeasurement: function(data) {
213+
uploadMeasurement: (data) => {
215214
if (data.Source === 'server') {
216-
self.els.currentSpeed.textContent = (data.Data.TCPInfo.BytesReceived /
215+
this.els.currentSpeed.textContent = (data.Data.TCPInfo.BytesReceived /
217216
data.Data.TCPInfo.ElapsedTime * 8).toFixed(2) + ' Mb/s';
218217
}
219218
if (data.Source === 'client') {
220-
const progress = (data.Data.ElapsedTime > self.TIME_EXPECTED) ? 1.0 :
221-
data.Data.ElapsedTime / (self.TIME_EXPECTED * 2) + 0.5;
219+
const progress = (data.Data.ElapsedTime > this.TIME_EXPECTED) ? 1.0 :
220+
data.Data.ElapsedTime / (this.TIME_EXPECTED * 2) + 0.5;
222221
ProgressGauge.progress(progress);
223222
}
224223
},
225-
uploadComplete: function(data) {
226-
self.measurementResult.c2sRate =
224+
uploadComplete: (data) => {
225+
this.measurementResult.c2sRate =
227226
(data.LastServerMeasurement.TCPInfo.BytesReceived /
228227
data.LastServerMeasurement.TCPInfo.ElapsedTime * 8).toFixed(2) + ' Mb/s';
229-
self.els.c2sRate.textContent = self.measurementResult.c2sRate;
228+
this.els.c2sRate.textContent = this.measurementResult.c2sRate;
230229
},
231230
},
232231
);
233232
},
234233

235234
async runMSAK(sid) {
236-
const self = this;
237235
const client = new msak.Client('speed-measurementlab-net', '0.0.1', {
238-
onDownloadStart: function(server) {
236+
onDownloadStart: (server) => {
239237
console.log('Server: ' + server.machine);
240-
self.els.msakLocation.textContent = server.location.city + ', ' + server.location.country;
238+
this.els.msakLocation.textContent = server.location.city + ', ' + server.location.country;
241239
},
242-
onDownloadResult: function(result) {
243-
self.msakResult.download = result.goodput.toFixed(2) + ' Mb/s';
244-
self.msakResult.loss = (result.retransmission * 100).toFixed(2) + '%';
245-
self.msakResult.latency = (result.minRTT / 1000).toFixed(0) + ' ms';
246-
self.els.currentPhase.textContent = i18n.t('Download');
247-
self.els.currentSpeed.textContent = result.goodput.toFixed(2) + ' Mb/s';
248-
self.els.msakDownload.textContent = self.msakResult.download;
249-
self.els.msakLatency.textContent = self.msakResult.latency;
250-
self.els.msakLoss.textContent = self.msakResult.loss;
251-
const progress = (result.elapsed > self.TIME_EXPECTED) ? 0.5 :
252-
result.elapsed / (self.TIME_EXPECTED * 2);
240+
onDownloadResult: (result) => {
241+
this.msakResult.download = result.goodput.toFixed(2) + ' Mb/s';
242+
this.msakResult.loss = (result.retransmission * 100).toFixed(2) + '%';
243+
this.msakResult.latency = (result.minRTT / 1000).toFixed(0) + ' ms';
244+
this.els.currentPhase.textContent = i18n.t('Download');
245+
this.els.currentSpeed.textContent = result.goodput.toFixed(2) + ' Mb/s';
246+
this.els.msakDownload.textContent = this.msakResult.download;
247+
this.els.msakLatency.textContent = this.msakResult.latency;
248+
this.els.msakLoss.textContent = this.msakResult.loss;
249+
const progress = (result.elapsed > this.TIME_EXPECTED) ? 0.5 :
250+
result.elapsed / (this.TIME_EXPECTED * 2);
253251
ProgressGauge.progress(progress);
254252
},
255-
onUploadResult: function(result) {
256-
self.msakResult.upload = result.goodput.toFixed(2) + ' Mb/s';
257-
self.els.currentPhase.textContent = i18n.t('Upload');
258-
self.els.currentSpeed.textContent = result.goodput.toFixed(2) + ' Mb/s';
259-
self.els.msakUpload.textContent = self.msakResult.upload;
260-
const progress = (result.elapsed > self.TIME_EXPECTED) ? 1.0 :
261-
result.elapsed / (self.TIME_EXPECTED * 2) + 0.5;
253+
onUploadResult: (result) => {
254+
this.msakResult.upload = result.goodput.toFixed(2) + ' Mb/s';
255+
this.els.currentPhase.textContent = i18n.t('Upload');
256+
this.els.currentSpeed.textContent = result.goodput.toFixed(2) + ' Mb/s';
257+
this.els.msakUpload.textContent = this.msakResult.upload;
258+
const progress = (result.elapsed > this.TIME_EXPECTED) ? 1.0 :
259+
result.elapsed / (this.TIME_EXPECTED * 2) + 0.5;
262260
ProgressGauge.progress(progress);
263261
}
264262
});
@@ -314,22 +312,21 @@ const SpeedTest = {
314312
},
315313
];
316314

317-
const self = this;
318315
return pt.test(
319316
{
320317
userAcceptedDataPolicy: true,
321318
downloadworkerfile: '/libraries/pt-download-worker.min.js',
322319
metadata: md[Math.floor(Math.random() * md.length)]
323320
},
324321
{
325-
serverChosen: function(server) {
326-
self.els.location.textContent = server.location.city + ', ' + server.location.country;
322+
serverChosen: (server) => {
323+
this.els.location.textContent = server.location.city + ', ' + server.location.country;
327324
console.log('Testing PT to:', {
328325
machine: server.machine,
329326
locations: server.location,
330327
});
331328
},
332-
downloadComplete: function(data) {
329+
downloadComplete: (data) => {
333330
console.log('PT result:', data);
334331
},
335332
},

0 commit comments

Comments
 (0)