$cordovaDeviceOrientation.clearWatch is not a promise. So there is no then method.
if it should be a promise:
clearWatch: function (watchID) {
var q = $q.defer();
navigator.compass.clearWatch(watchID);
q.resolve();
return q.promise;
}
Or the example in the doc should not use method .then.