Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么处理函数在electron/node.js中只能匿名工作?_Javascript_Node.js_Electron - Fatal编程技术网

Javascript 为什么处理函数在electron/node.js中只能匿名工作?

Javascript 为什么处理函数在electron/node.js中只能匿名工作?,javascript,node.js,electron,Javascript,Node.js,Electron,为什么可以在node(electron)中写入这样的内容: app.on('ready', function() { mainWindow = new BrowserWindow({ width: 800, height: 480 }); }); 但这是一个错误,应用程序未就绪 app.on('ready', onReady()); function onReady() { mainWindow = new BrowserWindow(

为什么可以在node(electron)中写入这样的内容:

app.on('ready', function() {
    mainWindow = new BrowserWindow({
        width: 800,
        height: 480
    });
});
但这是一个错误,
应用程序未就绪

app.on('ready', onReady());

function onReady() {
    mainWindow = new BrowserWindow({
        width: 800,
        height: 480
    });
}

这是因为您混淆了函数引用和函数调用

请注意,函数
onReady
不返回任何内容。默认情况下,这意味着它返回undefined

这样做:

app.on('ready', onReady());
因此:

app.on('ready', undefined);
也就是说,调用
onReady
函数,并将其结果传递给
app.on()

基本上你所做的是:

app.on('ready', (function() {
    mainWindow = new BrowserWindow({
        width: 800,
        height: 480
    });
})());
你想要的是:

app.on('ready', onReady);

这可能是错误的,但我认为您只需要删除函数调用<代码>app.on('ready',onReady)这是一个明显的重复。(不是我的dv)这是对这个问题的一个很好的解释。