diff --git a/src/lib/server/serviceDataPolling.ts b/src/lib/server/serviceDataPolling.ts index a0f6376..3f1b9e7 100644 --- a/src/lib/server/serviceDataPolling.ts +++ b/src/lib/server/serviceDataPolling.ts @@ -27,12 +27,17 @@ function wrapHandler(handler: ServiceHandler): AsyncServiceHandler { return async (config: ServiceConfig): Promise => { const value = handler(config); if (isPromise(value) === true) { - return (value as Promise).then((data: ServiceData) => { - if (data.status != undefined) { - return data; - } - return pollGeneric(data, config.url); - }); + return (value as Promise) + .then((data: ServiceData) => { + if (data.status != undefined) { + return data; + } + return pollGeneric(data, config.url); + }) + .catch((error) => { + console.warn("could not resolve service '" + config.url + "': " + error); + return pollGeneric({}, config.url); + }); } return pollGeneric(value as ServiceData, config.url); };