Javascript 如何设置带角9服务和电子主进程的ipc

Javascript 如何设置带角9服务和电子主进程的ipc,javascript,angular,electron,Javascript,Angular,Electron,我面临着电子角度(这里完全是角度初学者)ipc事件的问题。这是我的密码: 电子服务 从'@angular/core'导入{Injectable,NgZone}; 从“ngx电子”导入{electronicservice}; @注射的({ providedIn:'根' }) 导出类电子终端服务{ 应用设置:任意; 建造商(专用电子:电子服务){ 这是fetchAllSettings(); } fetchAllSettings(){ send('fetch:Settings'); this.ele

我面临着电子角度(这里完全是角度初学者)ipc事件的问题。这是我的密码:

电子服务

从'@angular/core'导入{Injectable,NgZone};
从“ngx电子”导入{electronicservice};
@注射的({
providedIn:'根'
})
导出类电子终端服务{
应用设置:任意;
建造商(专用电子:电子服务){
这是fetchAllSettings();
}
fetchAllSettings(){
send('fetch:Settings');
this.electron.ipcRenderer.once('fetch:Settings::received',(事件,数据)=>{
this.appSettings=数据[0];
});
}

}
您可以同步获取设置,如果加载(和阻止)不需要太长时间,这通常是一个选项:

fetchAllSettings() {
    this.appSettings = this.electron.ipcRenderer.sendSync('fetch:Settings')[0] ;
}
在后端,则不使用
event.reply
,而是将结果分配给
event.returnValue

ipcMain.on('fetch:Settings', (event) => {
    const data = getTheSettings();
    event.returnValue = data;
}

如果获取设置或任何其他数据需要一些时间,并且我想显示一个加载图标,直到设置完全加载为止,我如何才能实现这一点?我知道如何使用react或svelte,但对于angular,我希望一些专家能找到这一点并给出答案。