I have some confusion about when to use various mechanisms in the capacitor plugin framework.
One the one hand, the standard capacitor plugin methods define 3 types of methods:
- Plugin method that returns no data
- Plugin method that returns a value
- Plugin method that returns values repeatedly
For type #3, when the JavaScript/TypeScript invokes the plugin’s method, and it passes (as a parameter) a callback function wherein the native plugin code can then repeatedly invoke the provided JavaScript/TypeScript callback to provide multiple values over time.
But isn’t this the same thing as using the “addListener()” plugin mechanism? The addListener() method enables the JavaScript/TypeScript code to simply register a callback function wherein the native plugin code can then repeatedly invoke that JavaScript/TypeScript callback with data over time.
The addListener() mechanism and the type #3 plugin method both seem to be a way for the native plugin code to invoke a callback with some data.
Are these two mechanisms really redundant, or am I misunderstanding one or the other? When would you use one mechanism over the other?