为什么eslint抛出该错误,我该如何解决?

问题描述

我编写了一个函数,用于返回sessionStorage数据,并在箭头函数中返回与return语句相关的抛出错误

预期在箭头函数的结尾处返回一个值,即一致返回

  const data = sessionStorage.getItem(key);
  if (data) {
    try {
      return EJSON.parse(data);
    } catch (err) {
      console.error('readUnloggedindata',err);
      return false;
    }
  }

解决方法

这非常简单,ESLint告诉您,函数可能不退出而没有返回,在这种情况下,当数据为假时可能会发生,所以您可以做的是:

  const data = sessionStorage.getItem(key);
  if (data) {
    try {
      return EJSON.parse(data);
    } catch (err) {
      console.error('readUnloggedInData',err);
      return false;
    }
  }
  return;

什么也不会返回...我知道js会自动执行此操作,但是由于ESLint中的“ consistent-return”规则,ESLint希望您将其具体写下来