IndexedDB выдает ошибку при создании хранилища объектов

#javascript #eslint #indexeddb

#javascript #eslint #indexeddb

Вопрос:

При создании хранилища объектов я получаю ошибку linting. Как переписать код, чтобы исправить эти ошибки

Фрагмент кода

     const self = this;

const IDBConfig = {
  name: 'Cache_responses',
  version: 1,
  stores: [
    {
      name: 'request_api',
      Path: 'url'
    },
    {
      name: 'response_result',
      Path: 'url'
    }
  ]
};

const createIndexedDb = ({name, version, stores}) => {
const request = self.indexedDB.open(name, version);
  return new Promise((resolve,reject) => {
    request.onupgradeneeded = e => {
      const db = e.target.result;
      
      stores.map(({name,Path}) => { //1.'name' is already declared in upper scope. 
      //2.expected to return a value in arrow function

        if(!db.objectStoreNames.contains(name)) {
          db.createObjectStore(name, {Path});
        }
      })
    }
   request.onsuccess = () => resolve(request.result);
   request.onerror = () => reject(request.error);
  })
};
  

Я получаю эти две ошибки при сопоставлении имени и пути. Я не уверен, почему это отображается? Как переписать эту часть или упростить эту часть?

Комментарии:

1. 1) игнорируйте ошибку или настройте свой linter так, чтобы он не использовал это правило. 2) function вместо этого используйте a или настройте свой linter так, чтобы он не использовал эту роль. 3. отсутствующий вызов resolve / reject (неиспользуемые переменные) — это то, на что на самом деле должен жаловаться линтер.

2. Спасибо за ваш ответ. Для вашего 3-го пункта я обновил код. Можете ли вы рассказать мне о своем 2-м пункте? Как переписать это вместо функции стрелки?

3. Какой линтер вы используете?

4. Я использую расширение ESLint