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 | 7x 7x 2x 2x | import { scope } from '../../constants'
/**
* You can subscribe on destroy or update of watcher
* ```javascript
* const count = new State(0)
* const watcher = new Watch(() => {
* console.log('count', count.value)
* // the order does not matter
* onDestroy(() => console.log('destructor'))
* })
* // console.log('count', 0)
*
* count.value++
* // console.log('destructor')
* // console.log('count', 1)
*
* watcher.destroy()
* // console.log('destructor')
*
* watcher.destroy()
* count.value++
* // nothing happens
* ```
* */
export function onDestroy (destructor: Function) {
if (scope.activeWatcher) {
scope.activeWatcher.destructors.add(destructor)
}
}
|