Skip to content

slow connection: Cannot read property '0' of undefined (scope.newFilm = scope.films[0]) #8

@jmp909

Description

@jmp909

on your code from video 33 (https://www.youtube.com/watch?v=Ob9E1-TFUBs) , if i throttle Chrome to 2G (450kb/s), an error gets thrown from nextfilm.directive.js

TypeError: Cannot read property '0' of undefined
scope.newFilm = scope.films[0];

presumably then, this hasn't run from upcomingfilms.controller.js
$scope.films = allMovies;

is this an inherent issue to Angular? i wasn't sure why you have a 300ms timeout on functions. I assume it's related to everything running correctly in order.

is there a way to make one dependent on the other to avoid this error?

i console logged the various functions and it comes out like in this order, presumably meaning the nextfilm 300ms timeout is firing before the promise completes

MCU.directive.maincontent
MCU.directive.maincontent.link
MCU.directive:nextfilm
MCU.service:phasesService
MCU.controller:upcomingfilmsController
MCU.service:phasesService.getPhases
MCU.directive:nextfilm.link
MCU.directive.maincontent.link.timeout
MCU.directive:nextfilm.link.timeout   // allMovies not set yet so errors...

TypeError: Cannot read property '0' of undefined

MCU.service:phasesService.getJson->deferred resolve
MCU.controller:upcomingfilmsController.promise.then
MCU.controller:upcomingfilmsController.allMovies

thanks
j

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions