首页 > 解决方案 > javascript 类,返回可能的错误来处理它的方法

问题描述

我有一个类,我想要一个错误方法来返回一种从对象处理它的方法

class MyClass {
On(value){
     try{
     throw new Error("Massimo due candidati");
      }
      catch(e){
              console.log(e.name, e.message); //Error, I'm Evil
      }
}
}

如果我创建一个类的对象,我该如何以类似的方式处理错误?

var obj = new MyClass();
obj.on(value, err=> {
if (err) {
    onError(err.message);
  }else{
    console.log("Inserimento ok");
  }
});

感谢您的关注。

标签: javascriptclass

解决方案


调用时.on,将回调推送到对象存储的回调数组。然后,无论何时触发.on运行,遍历数组中的所有回调并调用它们(也可能传递一个错误参数):

class MyClass {
  onCallbacks = [];
  on(someArg, callback) {
    this.onCallbacks.push(callback);
  }
  invokeOK() {
    this.onCallbacks.forEach((callback) => {
      callback();
    });
  }
  invokeError() {
    this.onCallbacks.forEach((callback) => {
      callback(new Error('foo'));
    });
  }
}

const onError = console.error;
const obj = new MyClass();
obj.on('value', err => {
  if (err) {
    onError(err.message);
  } else {
    console.log("Inserimento ok");
  }
});

obj.invokeError();
obj.invokeOK();


推荐阅读