Fix Cast lazy loading

Move all the heavy initialization, which takes ~300ms, from require('./lib/cast') to Cast.init()
This commit is contained in:
DC
2016-07-08 10:45:15 -07:00
parent 50c47dd657
commit dfe1e3b631
2 changed files with 8 additions and 4 deletions

View File

@@ -13,9 +13,8 @@ module.exports = {
setRate
}
var airplayer = require('airplayer')()
var chromecasts = require('chromecasts')()
var dlnacasts = require('dlnacasts')()
// Lazy load these for a ~300ms improvement in startup time
var airplayer, chromecasts, dlnacasts
var config = require('../../config')
@@ -33,6 +32,11 @@ function init (appState, callback) {
state = appState
update = callback
// Load modules, scan the network for devices
airplayer = require('airplayer')()
chromecasts = require('chromecasts')()
dlnacasts = require('dlnacasts')()
state.devices.chromecast = chromecastPlayer()
state.devices.dlna = dlnaPlayer()
state.devices.airplay = airplayPlayer()

View File

@@ -249,7 +249,7 @@ function dispatch (action, ...args) {
}
var handler = dispatchHandlers[action]
if (handler) handler.apply(null, args)
if (handler) handler(...args)
else console.error('Missing dispatch handler: ' + action)
// Update the virtual-dom, unless it's just a mouse move event