JSFiddle - React, Tailwind, and code Playground
HTML
<div ng-app="test" ng-controller="test"></div>
JavaScript
var app = angular.module('test', [])
.controller('test', function($scope, $timeout){
this.test = 'hiya';
$timeout(function(){
console.log('this WONT fail', this.test);
}.bind(this), 1);
/*
Note as of angular v1.4.1 you can pass aiditional parameters into your callback.
JSfiddle doesnt have that version though.
$timeout(function(ctx){
console.log('this WONT fail', ctx.test);
}, 1, true, this);
*/
$timeout(function(){
console.log('this will fail', this.test);
}, 1);
});