这是我发布的第一个问题,因此,如果有任何不正确或需要更改的地方,我很乐意提出并更改我的问题
我目前正在从事一个小型个人项目,其中有一个程序可以从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的程序都相同