#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