diff --git a/lib/apicontrollersbase.js b/lib/apicontrollersbase.js index 613b51a..1b11efe 100644 --- a/lib/apicontrollersbase.js +++ b/lib/apicontrollersbase.js @@ -88,6 +88,7 @@ class APIOperationBase { this.setClientId(); var obj = this; + var callbackInvoked = false; logger.debug(JSON.stringify(this._request, 2, null)); @@ -109,13 +110,17 @@ class APIOperationBase { var responseObj = JSON.parse(JSON.stringify(response.data)); logger.debug(JSON.stringify(responseObj, 2, null)); obj._response = responseObj; - callback(); } else { logger.error("Undefined Response"); } - }).catch(error => { + }, (error) => { obj._error = error; logger.error(error); + }).finally(() => { + if (!callbackInvoked) { + callbackInvoked = true; + callback(); + } }); logger.debug('Exit APIOperationBase execute');