如何在不重新加载应用程序的情况下重新启动服务?
我不想使用window.location.reload().
解决方法
您可以使用工厂而不是简单服务,并在其上创建一个重置方法,将其设置为“初始状态”.
例如,您的工厂可能看起来像这样:
function MyFactory() { // generate the initial structure of the service let Factory = _getDefaultFactory(); // expose the service properties and methods return Factory; /** * Reset the factory back to its default state */ function reset() { // generate the initial structure again // and override the current structure of the service Factory = _getDefaultFactory(); } /** * Generate a default service structure */ function _getDefaultFactory() { return { // include the reset method so you can call it later // e.g. MyFactory.reset(); reset: reset // include other factory properties and methods here }; } }