feature: use async/await instead of promises
This commit is contained in:
parent
79cc2899d0
commit
f256dfa568
|
@ -5,6 +5,7 @@ import processExists from 'process-exists';
|
|||
/* eslint-disable-next-line import/no-extraneous-dependencies */
|
||||
import isDev from 'electron-is-dev';
|
||||
import type { ChildProcess } from 'child_process';
|
||||
import eres from 'eres';
|
||||
|
||||
import getBinariesPath from './get-binaries-path';
|
||||
import getOsFolder from './get-os-folder';
|
||||
|
@ -14,17 +15,25 @@ import log from './logger';
|
|||
|
||||
const getDaemonOptions = () => (isDev ? ['-daemon', '-testnet'] : ['-daemon']);
|
||||
|
||||
const runDaemon: () => Promise<?ChildProcess> = () => new Promise((resolve, reject) => {
|
||||
const runDaemon: () => Promise<?ChildProcess> = () => new Promise(async (resolve, reject) => {
|
||||
const processName = path.join(getBinariesPath(), getOsFolder(), getDaemonName());
|
||||
|
||||
fetchParams()
|
||||
.then(() => {
|
||||
const [err] = await eres(fetchParams());
|
||||
|
||||
if (err) {
|
||||
log('Something went wrong fetching params: ', err);
|
||||
return reject(new Error(err));
|
||||
}
|
||||
|
||||
log('Fetch Params finished!');
|
||||
processExists(processName).then((isRunning) => {
|
||||
|
||||
const [, isRunning] = await eres(processExists(processName));
|
||||
|
||||
if (isRunning) {
|
||||
log('Already is running!');
|
||||
resolve();
|
||||
} else {
|
||||
return resolve();
|
||||
}
|
||||
|
||||
const childProcess = cp.spawn(processName, getDaemonOptions());
|
||||
|
||||
childProcess.stdout.on('data', (data) => {
|
||||
|
@ -38,12 +47,6 @@ const runDaemon: () => Promise<?ChildProcess> = () => new Promise((resolve, reje
|
|||
});
|
||||
|
||||
childProcess.on('error', reject);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
log('Something went wrong fetching params: ', err);
|
||||
});
|
||||
});
|
||||
|
||||
export default runDaemon;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
// @flow
|
||||
import '@babel/polyfill';
|
||||
|
||||
import path from 'path';
|
||||
|
||||
/* eslint-disable import/no-extraneous-dependencies */
|
||||
|
@ -7,6 +9,7 @@ import { autoUpdater } from 'electron-updater';
|
|||
import isDev from 'electron-is-dev';
|
||||
/* eslint-enable import/no-extraneous-dependencies */
|
||||
import type { BrowserWindow as BrowserWindowType } from 'electron';
|
||||
import eres from 'eres';
|
||||
import { registerDebugShortcut } from '../utils/debug-shortcut';
|
||||
import runDaemon from './daemon/zcashd-child-process';
|
||||
import zcashLog from './daemon/logger';
|
||||
|
@ -63,15 +66,14 @@ const createWindow = () => {
|
|||
exports.app = app;
|
||||
};
|
||||
|
||||
app.on('ready', () => {
|
||||
/* eslint-disable-next-line consistent-return */
|
||||
app.on('ready', async () => {
|
||||
createWindow();
|
||||
runDaemon()
|
||||
.then((proc) => {
|
||||
if (proc) {
|
||||
const [err, proc] = await eres(runDaemon());
|
||||
|
||||
if (err || !proc) return zcashLog(err);
|
||||
|
||||
zcashDaemon = proc;
|
||||
}
|
||||
})
|
||||
.catch(zcashLog);
|
||||
});
|
||||
app.on('activate', () => {
|
||||
if (mainWindow === null) createWindow();
|
||||
|
@ -80,7 +82,5 @@ app.on('window-all-closed', () => {
|
|||
if (process.platform !== 'darwin') app.quit();
|
||||
});
|
||||
app.on('before-quit', () => {
|
||||
if (zcashDaemon) {
|
||||
zcashDaemon.kill('SIGINT');
|
||||
}
|
||||
if (zcashDaemon) zcashDaemon.kill('SIGINT');
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue