我正在学习TypeScript中的异步/等待功能,对此有一些问题。我编写了以下函数以从Blob获取ArrayBuffer。
async function readAsArrayBuffer(blob: Blob): Promise<ArrayBuffer> {
return new Promise<ArrayBuffer>((resolve, reject) => {
let reader = new FileReader();
reader.addEventListener('load', e => resolve((<FileReader>e.target).result));
reader.addEventListener('error', e => reject((<FileReader>e.target).error));
reader.readAsArrayBuffer(blob);
});
}
所以...
- 在这个函数之前,我真的需要使用
async
关键字吗?我认为它没有什么作用... - 我应该在 Promise 执行函数的范围内创建新的 FileReader,还是在 readAsArrayBuffer 的范围级别上创建?(...或者没有关系?)
- 我写的是三个嵌套的函数,有问题吗? :-)
try..catch
以查看与仅使用throw“my error”
相比的差异。 - Mattias Buelens