Я работаю над приложением Ionic 3, которое печатает счета на bluetooth-принтере. И я немного растерялся, как правильно обрабатывать ошибки в этом фрагменте кода:
print(billToPrint){
return this.bluetoothSerial.list().then((data)=>{
if(data.length==0) throw new Error("no printer connected");
console.log(data);
console.log(data[0]);
let subscription=this.bluetoothSerial.connect(data[0].address).subscribe(data=>{
console.log("subscribnuto",data);
this.bluetoothSerial.write(billToPrint).then((data)=>{
console.log("data success", data);
});
subscription.unsubscribe();
},err=>{
throw new Error("Connection to printer failed");
});
},err=>{
console.log(err);
});
}
Как правильно обрабатывать ошибки в этом случае? Я хочу, чтобы ошибки распространялись с конкретными сообщениями об ошибках, чтобы я мог легко обрабатывать их на своей странице (этот метод печати работает) и показывать предупреждение с сообщением об ошибке. Есть идеи? Или структура кода плохая?