microsoft / microsoft/vscode-python-environments
SimpleDebounce should be a disposable
- Dominant language
- TypeScript
- Stars
- 138
- Forks
- 62
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 35
Description
This should be disposable:
https://github.com/microsoft/vscode-python-environments/blob/baad0daaa2e01f31ba507176e889bdfaf30d4cff/src/common/utils/debounce.ts#L1-L23
`dispose`'s impl should be:
```ts
public dispose() {
if (this.timeout) {
clearTimeout(this.timeout);
}
}
```
Not having this means that if the debouncer's job is done while the `setTimeout` is active, it will still fire again.
An example of this in practice is if the extension is disabled it should immediately dispose everything. Another example is the transient usage in https://github.com/microsoft/vscode-python-environments/pull/952
Contributor guide
Assessment
This issue has not been assessed yet.