После некоторых экспериментов я публикую код без изменений, чтобы найти лучший метод: у меня есть функция (в службе), которая подписывается на результат как BLOB и сохраняет его как содержимое файла в локальномфайловая система - FileSaver.saveAs (result,);:
printAsPDF()
{
if (<some validator fails>)
{
return;
}
let htmlContent = "<html><body>" + <some html content> +"</body></html>";
//this.GetByteArrayForPDF returns Observable<any> (actually observable of a blob)
this.GetByteArrayForPDF(htmlContent).subscribe(result =>
{
FileSaver.saveAs(result, <file name>);
}, error => console.log(error));
}
Теперь я хочу, чтобы функция printAsPDF также возвращала наблюдаемую информацию, указывающую, успешно ли выполнено действие сохранения или нет.В настоящее время вызов этой функции выполняется из компонента:
this.<service name>.printAsPDF();
Я хочу, чтобы функция компонента подписалась на наблюдаемое и проверила, успешно ли сохранено или нет.Как я могу сделать это, принимая во внимание, что вызов printAsPDF должен получить наблюдаемое (true) в зависимости от того, был ли FileSaver.saveAs (result,) вызван