在Main.js中禁用DevTools时,NeDB不会加载数据

时间:2019-04-26 10:50:10

标签: javascript electron nedb

这是我发布的第一个问题,因此,如果有任何不正确或需要更改的地方,我很乐意提出并更改我的问题

我目前正在从事一个小型个人项目,其中有一个程序可以从API获取电影数据并将其保存到数据库中。

我当前使用的数据库是NeDB。

只要我有条件,程序本身就可以正常工作

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

在我的Main.js中。 对此进行注释将导致没有数据被加载。

我到目前为止发现的内容:

我已经发现,NeDB的“就绪”状态保持为“假” 启用DevTools会导致“就绪”状态变为“真”

使用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的程序都相同

0 个答案:

没有答案