Add catch handlers to client calls

Summary:
Client calls return a promise. Not dealing with the error causes promise unhandled rejection errors.

This change adds a catch block and logs the error instead.

Reviewed By: antonk52

Differential Revision: D37955029

fbshipit-source-id: 50cac5a5339961d16868ab2102d3c77790e6943c
This commit is contained in:
Lorenzo Blasa
2022-07-19 04:05:12 -07:00
committed by Facebook GitHub Bot
parent 2bb3f407b5
commit c871b221fd
2 changed files with 24 additions and 12 deletions

View File

@@ -287,9 +287,13 @@ export default class LayoutPlugin extends FlipperPlugin<
);
const resolvedPath = IDEFileResolver.getBestPath(paths, params.className);
if (this.client.isConnected) {
this.client.send('setResolvedPath', {
this.client
.call('setResolvedPath', {
className: params.className,
resolvedPath: resolvedPath,
})
.catch((e) => {
console.warn('[Layout] setResolvePath failed with error', e);
});
}
};
@@ -315,7 +319,9 @@ export default class LayoutPlugin extends FlipperPlugin<
if (this.client.isConnected) {
const inTargetMode = !this.state.inTargetMode;
this.setState({inTargetMode});
this.client.send('setSearchActive', {active: inTargetMode});
this.client.call('setSearchActive', {active: inTargetMode}).catch((e) => {
console.warn('[Layout] setSearchActive failed with error', e);
});
}
};
@@ -388,11 +394,15 @@ export default class LayoutPlugin extends FlipperPlugin<
path: Array.from(path).splice(1).join(),
...this.realClient.query,
});
this.client.call('setData', {
this.client
.call('setData', {
id,
path,
value,
ax: this.state.inAXMode,
})
.catch((e) => {
console.warn('[Layout] setData failed with error', e);
});
};

View File

@@ -130,7 +130,9 @@ export default class LeakCanary<PersistedState> extends FlipperPlugin<
selectedIdx: null,
selectedEid: null,
});
this.client.call('clear');
this.client.call('clear').catch((e) => {
console.warn('[LeakCanary] clear failed with error', e);
});
};
_selectElement = (leakIdx: number, eid: string) => {