function promises.watch
Usage in Deno
```typescript import { promises } from "node:node__fs.d.ts"; ```
watch(filename: PathLike,options: (WatchOptions & { encoding: "buffer"; }) | "buffer",): AsyncIterable<FileChangeInfo<Buffer>>
Returns an async iterator that watches for changes on `filename`, where `filename`is either a file or a directory.
```js
import { watch } from 'node:fs/promises';
const ac = new AbortController();
const { signal } = ac;
setTimeout(() => ac.abort(), 10000);
(async () => {
try {
const watcher = watch(__filename, { signal });
for await (const event of watcher)
console.log(event);
} catch (err) {
if (err.name === 'AbortError')
return;
throw err;
}
})();
```
On most platforms, `'rename'` is emitted whenever a filename appears or
disappears in the directory.
All the `caveats` for `fs.watch()` also apply to `fsPromises.watch()`.
filename: PathLike
options: (WatchOptions & { encoding: "buffer"; }) | "buffer"
AsyncIterable<FileChangeInfo<Buffer>>
of objects with the properties:
watch(filename: PathLike,options?: WatchOptions | BufferEncoding,): AsyncIterable<FileChangeInfo<string>>
Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.
filename: PathLike
A path to a file or directory. If a URL is provided, it must use the `file:` protocol.
optional
options: WatchOptions | BufferEncoding
Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.
If `encoding` is not supplied, the default of `'utf8'` is used.
If `persistent` is not supplied, the default of `true` is used.
If `recursive` is not supplied, the default of `false` is used.
AsyncIterable<FileChangeInfo<string>>
watch(filename: PathLike,options: WatchOptions | string,): AsyncIterable<FileChangeInfo<string>> | AsyncIterable<FileChangeInfo<Buffer>>
Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.
filename: PathLike
A path to a file or directory. If a URL is provided, it must use the `file:` protocol.
options: WatchOptions | string
Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.
If `encoding` is not supplied, the default of `'utf8'` is used.
If `persistent` is not supplied, the default of `true` is used.
If `recursive` is not supplied, the default of `false` is used.
AsyncIterable<FileChangeInfo<string>> | AsyncIterable<FileChangeInfo<Buffer>>