1.1.4 • Published 6 years ago

vue2-socketcluster v1.1.4

Weekly downloads
4
License
ISC
Repository
github
Last release
6 years ago

Vue2 Socketcluster

Why ??

1) This package wraps the client requests inside promises. 2) No need to assign socket to the root. It's available everywhere!

Installation

npm install vue2-socketcluster --save

Usage

import Vue2Socketcluster from 'vue2-socketcluster'

Vue.use(Vue2Socketcluster,{
	hostname:"app.example.com",
	secure:true,
	propName:"socket" // Defaults to socket - so if you want vm.$soc you would change this to "soc"
})



new Vue({
	el:"#app",
	data() {
		return {
			authToken:null
		}
	},
	methods:{
		error(err) {
			// Do something with the error.. I suggest adding alertify
		}
	},
	mounted() {
		let vm = this

		vm.$socket.on('connect',status => {

			if (status.isAuthenticated) {
				vm.authToken = vm.$socket.getAuthToken()
				vm.$router.push({ path:'/' })
			} else {
				vm.$router.push({ path:'/auth/login' })
			}

		})

	}
})



---------------------------


// Example - some component

export default {
	name:'test',
	data() {
		return {
			users:[]
		}
	},
	mounted() {
		let vm = this


		// Traditional
		vm.$socket.emit('somemessage',{ someprop:'someval' },(err,data) => {
			if (err) return vm.$root.error(err)

			// Do something with data
		})


		// Promises
		async function run() {
			let results = {}

			results.first_result = await vm.$socket
				.emit('somemessage',{ someprop:'someval' })
				.catch(err => { throw new Error(err) })

			results.second_result = await vm.$socket
				.emit('somemessage2',{ someprop:'someval' })
				.catch(err => { throw new Error(err) })

			return results
		}

		run()
			.then(data => {

			})
			.catch(err => {

				})

	}
}

Test

cd test
npm i
npm run dev

Open up the browser and you will see "Connected" and the status var outputed... assuming you have an instance of socketcluster running on localhost:3000.

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago