You can use $.Deferred() to perform a task when core.load(["Scripts/Shared/MainViewModel.js"]) call completes by passing MainVM to deferred.resolve() within callback function. At .ready() handler use .then() to access the resolved promise value : MainVM