---
title: "readInBackgroundAndNotify(forModes:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/filehandle/readinbackgroundandnotify(formodes:)"
---

# readInBackgroundAndNotify(forModes:)

Reads from the file or communications channel in the background and posts a notification when finished.

## Declaration

```swift
func readInBackgroundAndNotify(forModes modes: [RunLoop.Mode]?)
```

## Parameters

- `modes`: The runloop modes in which the read completion notification can be posted.

## Discussion

Discussion See readInBackgroundAndNotify() for details of how this method operates. This method differs from readInBackgroundAndNotify() in that modes specifies the run-loop mode (or modes) in which readCompletionNotification can be posted. You must call this method from a thread that has an active run loop.

## See Also

### Related Documentation

- [enqueue(_:postingStyle:coalesceMask:forModes:)](foundation/notificationqueue/enqueue(_:postingstyle:coalescemask:formodes:).md)

### Reading asynchronously with notifications

- [acceptConnectionInBackgroundAndNotify()](foundation/filehandle/acceptconnectioninbackgroundandnotify().md)
- [acceptConnectionInBackgroundAndNotify(forModes:)](foundation/filehandle/acceptconnectioninbackgroundandnotify(formodes:).md)
- [readInBackgroundAndNotify()](foundation/filehandle/readinbackgroundandnotify().md)
- [readToEndOfFileInBackgroundAndNotify()](foundation/filehandle/readtoendoffileinbackgroundandnotify().md)
- [readToEndOfFileInBackgroundAndNotify(forModes:)](foundation/filehandle/readtoendoffileinbackgroundandnotify(formodes:).md)
- [waitForDataInBackgroundAndNotify()](foundation/filehandle/waitfordatainbackgroundandnotify().md)
- [waitForDataInBackgroundAndNotify(forModes:)](foundation/filehandle/waitfordatainbackgroundandnotify(formodes:).md)
