Skip to content

Commit baad5e7

Browse files
committed
Added error handling to demo page
1 parent cfa808e commit baad5e7

File tree

1 file changed

+34
-4
lines changed

1 file changed

+34
-4
lines changed

demo/index.html

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
<h1>waveform-data.js</h1>
4242
<p>
4343
waveform-data.js is a JavaScript library that allows you to load and
44-
manipulate audio waveform data files
44+
manipulate audio waveform data files.
4545
</p>
4646
<p>
4747
It was developed by <a href="https://www.bbc.co.uk/rd">BBC R&amp;D</a>
@@ -143,7 +143,14 @@ <h2>Demo: Precomputed Waveform Data</h2>
143143

144144
document.querySelector('button[data-action="load-dat"]').addEventListener('click', function() {
145145
fetch('07023003-2channel.dat')
146-
.then(response => response.arrayBuffer())
146+
.then(response => {
147+
if (response.ok) {
148+
return response.arrayBuffer();
149+
}
150+
else {
151+
throw new Error(`${response.status} ${response.statusText}`);
152+
}
153+
})
147154
.then(buffer => WaveformData.create(buffer))
148155
.then(waveform => {
149156
console.log(`Waveform has ${waveform.channels} channels`);
@@ -154,12 +161,22 @@ <h2>Demo: Precomputed Waveform Data</h2>
154161
drawWaveform(canvas, waveform, 0);
155162

156163
waveformData = waveform;
164+
})
165+
.catch(err => {
166+
console.error(err.message);
157167
});
158168
});
159169

160170
document.querySelector('button[data-action="load-json"]').addEventListener('click', function() {
161171
fetch('07023003-2channel.json')
162-
.then(response => response.json())
172+
.then(response => {
173+
if (response.ok) {
174+
return response.json();
175+
}
176+
else {
177+
throw new Error(`${response.status} ${response.statusText}`);
178+
}
179+
})
163180
.then(json => WaveformData.create(json))
164181
.then(waveform => {
165182
console.log(`Waveform has ${waveform.channels} channels`);
@@ -170,12 +187,22 @@ <h2>Demo: Precomputed Waveform Data</h2>
170187
drawWaveform(canvas, waveform, 0);
171188

172189
waveformData = waveform;
190+
})
191+
.catch(err => {
192+
console.error(err.message);
173193
});
174194
});
175195

176196
document.querySelector('button[data-action="generate"]').addEventListener('click', function() {
177197
fetch('07023003.mp3')
178-
.then(response => response.arrayBuffer())
198+
.then(response => {
199+
if (response.ok) {
200+
return response.arrayBuffer();
201+
}
202+
else {
203+
throw new Error(`${response.status} ${response.statusText}`);
204+
}
205+
})
179206
.then(buffer => {
180207
const audioContext = new AudioContext();
181208

@@ -206,6 +233,9 @@ <h2>Demo: Precomputed Waveform Data</h2>
206233
drawWaveform(canvas, waveform, 0);
207234

208235
waveformData = waveform;
236+
})
237+
.catch(err => {
238+
console.error(err.message);
209239
});
210240
});
211241
</script>

0 commit comments

Comments
 (0)