emberjs/ember.js — pull request #4212 by huafu (2014-01-23 11:59:08+00:00)
Title: [FEATURE] ThrottleSet mixin

Handle delayed set on some properties

`Ember.ThrottleSetMixin` provides a way to delay the set of some properties on Ember objects.

The delayed properties can be defined on object creation or class definition using the `throttledProperties` property, in which case the delayed properties will not be set on the object on creation until the delay is passed.
They can also be defined/updated/disabled afterward using the `defineThrottledProperty` method.

Example:
```javascript
var obj = Ember.Object.createWithMixins(Ember.ThrottleSetMixin, {
throttledProperties: [
{name: 'myProperty', delay: 500}
],
myProperty: 'someValue'
});
obj.get('myProperty'); // will output `undefined`
// after 1/2 second or more:
obj.get('myProperty'); // will output "someValue"
obj.set('myProperty', 'hello');
obj.get('myProperty'); // will output "someValue"
// after 1/2 second or more:
obj.get('myProperty'); // will output "hello"
```