NeDB не загружает данные, когда DevTools отключены в Main.js - PullRequest
0 голосов
/ 26 апреля 2019

Это мой первый вопрос, который я публикую, поэтому, если что-то не так или нужно что-то изменить, я с радостью обязуюсь и поменяю свой вопрос

В настоящее время я работаю над небольшим личным проектом, в котором у меня есть программа, котораяполучить данные Movie из API и сохранить их в базе данных.

База данных, которую я сейчас использую, - это NeDB.

Сама программа работает очень хорошо, пока у меня есть

 win.webContents.openDevTools({ mode: 'detach' })

в моем Main.js.Комментирование этого приводит к тому, что данные не загружаются.

То, что я обнаружил до сих пор:

То, что я уже выяснил, это то, что состояние готовности NeDB остается наfalse 'Включение DevTools приводит к тому, что состояние' готовности 'переходит в' true '

с DevTools:

executor: Executor {buffer: Array(0), ready: true, queue: {…}}

без DevTools:

executor: Executor {buffer: Array(3), ready: false, queue: {…}}

Также появляетсядля буферизации функций.К сожалению, мне не хватает понимания, чтобы помочь себе здесь.

Мой код:

Мой Main.js

const {app, BrowserWindow} = require('electron')
const path = require('path')
const url = require('url')

let win

function createWindow(){

  win = new BrowserWindow({
    width: 1000,
    height: 600,
    icon: path.join(__dirname, '/img/', 'icon.png'),
    frame: false,
  })

  win.loadFile('index.html')

  // win.webContents.openDevTools({ mode: 'detach' })

  win.on("closed", () => {
    win = null
  })
}

app.on('ready', createWindow)

app.on('window-all-closed', () => {
  if(process.platform !== 'darwin') {
    app.quit()
  }
})

Мой Index.html js:

getMovies: function() {  
 document.getElementById("content").innerHTML = ""
 if(this.currentPage == 1 && this.currentFilter == undefined && 
  this.currentSearch == undefined) {
   db.find({}).sort({id: 1}).exec((err, docs) => {
    for(let x = 0; x < 5; x++) {
     if(docs[x] != undefined) {
      addElementNoLoop(docs[x]) 
     } 
    }  
   })
   db.find({}, (err, docs) => {
    addElementPage(docs)
   })

Это прекрасно работает, когда DevTools включены

Чтобы показать это, вот как это выглядит без DevTools:

https://i.imgur.com/DDMbFeQ.jpg

И вот какэто выглядит с DevTools:

https://i.imgur.com/zIqQxth.jpg

Мое ожидаемое поведение:

программа для работы одинаково с DevTools и без

...