Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 18x 18x | // [TODO] Move to core if required
import { set } from '@ember/object';
/**
Use this util to safely set a property in callbacks or later runs.
```js
import Component from '@ember/component';
import safeSet from "../utils/safe-set";
import { later } from "f@ember/runloop";
export default Component.extend({
state: null,
action: {
setFocusState() {
later(() => {
safeSet(this, 'state', 'focussed');
}, 1000);
}
}
});
```
@function safeSet
@param {object} context reference of the instance
@param {string} key name of the property that needs to be modified
@param {string} value value to be updated
*/
export default function safeSet(context, key, value) {
Eif (!context.isDestroyed && !context.isDestroying) {
set(context, key, value);
}
}
|