Я использую платформу ionic 3 для загрузки видеофайла в vimeo api.Мне нужно получить двоичные данные для видеофайла, и я загружаю, используя элемент типа файла ввода.
Код, который я написал, выглядит следующим образом
videoUploadBody(videoObj) {
const r = new FileReader();
r.onload = function(){
console.log("Binary data", r.result);
return r.result;
};
r.readAsArrayBuffer(videoObj);
}
Это функция, которая мне нужнапозвоните, и он должен вернуть мне видео файл в двоичном виде.Функция, из которой я вызываю вышеуказанную функцию, выглядит следующим образом:
uploadVideo(videoFile, createdVideo) : Observable<any> {
const bodyObj = this.compilerProvider.videoUploadBody(videoFile);
return this.http.patch<Observable<any>>(createdVideo.upload.upload_link, bodyObj, this.uploadReqOpts);
}
Здесь переменная bodyObj содержит неопределенное значение, в то время как у меня console.log - функция videoUploadBody выдает мне данные в двоичном виде.
Я думаю, что есть какая-то проблема асинхронности или обещания.Что мне нужно изменить, чтобы вернуть двоичные данные в функцию uploadVideo?