Comments (7)
First of all, a mode can be added where the try_connect is not called from the constructor. It can be controlled by a flag.
A longer answer to why it was not already done so:
It is assumed that many of the applications will use Angular's dependencies injection. In that case when another service or component receives it as a dependency it should be ready to use. For example in few of the applications we use the service from more than one components/services. In this case it gives a clean solution.
In my opinion, if you need application logic for initialization this service, you would not be able to use Angular's dependency injection mechanism.
In that case functions (possible exported) can be written that will create/initialize the service.
from ng2-stompjs.
If you want I can create a branch with alternate way to initialize the service, that will have a call to initialize the service (this will take the config). See, if that version gives you a better code structure.
Alternatively, create a minimal server (that I can clone and run, considering I have not programmed in Java since 2006) and Angular code (may be 2 different projects) and share it and we can collectively try to come up with a neat way to initialize the service.
from ng2-stompjs.
That's pretty much what I thought was the reason for this and it's legit reason imo, but it's still quite inconvinient in particular cases. Flag in config would be good quick fix, but wouldn't be very flexible. I feel that most elegant solution, according to SoC principle, would be to separate logic code that can be used standalone from simple Injectable service. So that one can, instead of using built in service, write his own implementation. I'll upload simple server and app I wrote for sake of demonstration to my github in the moment.
EDIT:
I uploaded my sample server and client.
from ng2-stompjs.
Thanks, I will have a look at it this weekend.
from ng2-stompjs.
Refactored, and made changes, please see my comments in the pull request.
from ng2-stompjs.
Can I close the issue now?
I will leave #13 open to finish example/documentation.
from ng2-stompjs.
Yes, feel free to close it. Thank you for assistance.
from ng2-stompjs.
Related Issues (20)
- Error during WebSocket handshake: Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received HOT 4
- Disconnect and Reconnect with RxStopService HOT 1
- Multiple connection HOT 5
- publish doesn't exist, "@stomp/ng2-stompjs": "^8.0.0", HOT 1
- Problems receiving messages! Angular 9 HOT 1
- An accessor cannot be declared in an ambient context. HOT 2
- Websocket Connection not Establishing until Browser Refresh HOT 7
- WS not reconnecting after wifi is turned off and on. HOT 1
- Error: read ECONRESET when running ng serve HOT 4
- Facing issue as ng2-stompjs based websocket connection is closed for a specific json object structure. It is possibly an issue with parsing of json object. HOT 3
- Stop connection attempt after x attempts
- Mock RxStompService connect method HOT 2
- No message provided to error "WebSocket connection to url failed: "
- Client stops sending heart beat outgoing packets HOT 6
- Updating the brokerUrl of existing connections HOT 2
- "Encourage the library authors to publish an Ivy distribution." HOT 8
- Unsure on how to provide brokerURL after constructor HOT 2
- Angular 14 support HOT 3
- Unable to send text messages to activemq.
- Not working in angular 15. Error: Failed to initialize Angular compilation - Failed to compile entry-point @stomp/ng2-stompjs HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ng2-stompjs.