在Linux上运行我的应用程序时,我在Electron上遇到了这个奇怪的问题。这只是一个与Linux相关的问题,因为这不会发生在OSX或Windows上。
基本上我运行electron .
当它到达nodejs http.get请求时代码停止执行。奇怪的是,一旦我调整终端窗口的大小,脚本就会重新开始工作,应用程序运行正常!有时代码被执行但很少执行。这是我遇到过的最奇怪的事情,我似乎无法在网上找到关于这个问题的任何内容。
这是我的http请求代码:
let api,data = '',root = this
let options = {
hostname: apiUrl,
path: '/api/playlists',
method: 'GET'
}
return new Promise((resolve, reject) => {
http.get('http://' + options.hostname + options.path, (res) => {
res.setEncoding('utf8')
res.on('data', (chunk) => {
data += chunk
})
res.on('end', () => {
// data is a json in string format so it needs to converted to an js array
root.updateFiles(JSON.parse(data))
.then((res) => resolve('Playlists synced!'))
.catch((err) => {
reject('Playlists synced with errors!')
console.log(err)
})
})
}).on('error', (err) => {
console.log('Error:' + err.message)
})
})
注意:我使用Parallels在VM上运行Linux。
感谢您的帮助!