gpt4 book ai didi

javascript - 正确的错误处理-在javascript/Ionic中

转载 作者:行者123 更新时间:2023-12-03 08:46:46 24 4
gpt4 key购买 nike

我正在使用Ionic 3应用程序,该应用程序在蓝牙打印机上打印账单。我有点迷失了如何正确处理这段代码中的错误:

  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);
});
}

在这种情况下处理错误的正确方法是什么?我希望错误会随具体的错误消息一起传播,因此我可以轻松地在页面中处理它们(此打印方法已投入使用)并显示带有错误消息的警报。有任何想法吗?还是代码的结构不好?

最佳答案

而不是抛出这些错误。您可以使用alert()通知他们。

print(billToPrint){
return this.bluetoothSerial.list().then((data)=>{
if(data.length === 0){ Promise.reject(new Error("no printer connected"));}
// console.log(data);
// console.log(data[0]);
let subscription=this.bluetoothSerial.connect(data[0].address).subscribe(data=>{
if(data){
// console.log("subscribe",data);
this.bluetoothSerial.write(billToPrint).then((data)=>{
// console.log("data success", data);
Promise.resolve(true);
});
subscription.unsubscribe();
}else{
Promise.resolve(false);
}
},err=>{
Promise.reject(new Error("Connection to printer failed"));
});
},err=>{
Promise.reject(new Error("error your processing your request"));
});
}

关于javascript - 正确的错误处理-在javascript/Ionic中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52003079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com