Если цель здесь состоит в том, чтобы сохранить все изображения, которые были захвачены, и сообщить о завершении или ошибке вызывающей стороне, тогда вы можете изменить значение на .map()
для сбора массива обещаний и использовать Promise.all()
для мониторинга этого массива обещаний , Этот код выглядит следующим образом:
public takePicture() {
let options: CaptureImageOptions = { limit: 3 };
return this.mediaCapture.captureImage(options).then((data: MediaFile[]) => {
console.log(data);
// collect array of promises and use Promise.all() to monitor them
return Promise.all(data.map(item => {
return this.beforeSave(item.fullPath).then((save) => {
return this.save(save);
});
}));
}).catch((err: CaptureError) => {
// log error, then rethrow so caller can see the error
console.log(err)
throw err;
});
}
К вашему сведению, предполагается, что вы используете this.beforeSave()
и this.save()
правильно. Я не знаю этих интерфейсов, так что я просто возглавил это.