Почему мое приложение не отвечает на команды удаления?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Почему мое приложение не отвечает на команды удаления?

Сообщение Anonymous »

У меня есть база данных SQLite для Android Expo React Native App с использованием Expo-Sqlite 13.2.2. Когда я очищаю все данные из базы данных, все это висит. У меня есть заявления консоли. Операторы журнала подтверждают, что никакая другая функция не выполняется после удаления из .
Имя таблицы соответствует реальному имени таблицы. Удаление таблицы, у которой нет иностранных ключей, получает тот же результат. В Table_Names enum есть 7 таблиц. Обещание. Все разрешается, несмотря на то, что мой код никогда не выполняет консоли.export function clearAllData() {
const promiseArray : Promise[] = [];

// avoid foreign key constraint failures
const tableNamesReverse = [...Object.values(TABLE_NAMES)].reverse();

for (const tableName of tableNamesReverse) {
promiseArray.push(
new Promise((resolve, reject) => {
database.transaction((tx) => {
console.log(`DELETE FROM ${tableName}`)
tx.executeSql(
`DELETE FROM ${tableName}`,
[],
(_, result) => {
console.log(`Deleted table ${tableName}`)
resolve();
},
(_, err) => {
console.log(err);
reject();
return true;
}
);
});
})
)
}
return Promise.all(promiseArray);
}
< /code>
my console: < /p>
LOG clearing all data! // This is from the line that calls the above method
LOG DELETE FROM migrations
< /code>
Упрощение, чтобы просто ожидать, что одно обещание по-прежнему не достигает ни одного обратного вызова: < /p>
export async function clearAllData() {
await new Promise((resolve, reject) => {
database.transaction((tx) => {
tx.executeSql(
`DELETE FROM ${TABLE_NAMES.Migrations}`,
[],
(_, result) => {
console.log(`Deleted table ${TABLE_NAMES.Migrations}`)
resolve();
},
(_, err) => {
console.log(err);
reject();
return true;
}
);
});
});
return;
}


Подробнее здесь: https://stackoverflow.com/questions/783 ... e-commands
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»