Ionic 4 с Sqlite - Невозможно прочитать свойство then для неопределенного TypeError: Невозможно прочитать свойство then для неопределенного - PullRequest
0 голосов
/ 19 января 2019

Моя база данных не создается. Когда я вижу свою консоль, она показывает следующую ошибку:

Uncaught (в обещании): TypeError: Невозможно прочитать свойство then для неопределенного TypeError: Невозможно прочитать свойство 'then' из неопределенного на новой домашней странице (home.page.ts: 31)

Я установил npm install @ionic-native/sqlite@beta --save

Ниже мой home.page.ts код:

import { Component } from '@angular/core';
import { NavController } from '@ionic/angular';
import { SQLite, SQLiteObject } from '@ionic-native/sqlite/ngx';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {
constructor(public navCtrl: NavController,private sqlite: SQLite){
  this.sqlite.create({
    name: 'ionicdb.db',
    location: 'default'
  })
  .then((db: SQLiteObject) => {
    db.executeSql('CREATE TABLE IF NOT EXISTS expense2(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)', [])
    .then(() => console.log('Executed SQL'))
    .catch(e => console.log(e, 'err'));
  })
  .catch(e => console.log(e)); 
}
}

Я сделал согласно документации, но не знаю, почему эта ошибка все еще существует.

Мой проект ionic info -v для справки:

ionic (Ionic CLI)             : 4.8.0 (C:\Users\jessica\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.0.0-rc.1
   @angular-devkit/build-angular : 0.11.4
   @angular-devkit/schematics    : 7.1.4
   @angular/cli                  : 7.1.4
   @ionic/angular-toolkit        : 1.2.2

Cordova:

   cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
   Cordova Platforms     : none
   Cordova Plugins       : no whitelisted plugins (2 plugins total)

System:

 (C:\Program Files (x86)\Android\android-sdk)
   NodeJS            : v10.15.0 (C:\Program Files\nodejs\node.exe)
   npm               : 6.0.1
   OS                : Windows 8.1

1 Ответ

0 голосов
/ 06 февраля 2019

Я столкнулся с этой же проблемой.sqlite не доступен в браузере, естественно.Так что, если вы просто установите плагин и выполните ионную обработку, это не сработает.Выполните эти команды:

ionic cordova platform add browser

, а затем

ionic cordova run browser

Мне пришлось выполнить 2-ю команду дважды.С первой командой это не для меня.После этого все заработало.

...