---
title: "map(_:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/asyncthrowingdropwhilesequence/map(_:)-8i9r9"
---

# map(_:)

Creates an asynchronous sequence that maps the given closure over the asynchronous sequence’s elements.

## Declaration

```swift
@preconcurrency func map<Transformed>(_ transform: @escaping @Sendable (Self.Element) async -> Transformed) -> AsyncMapSequence<Self, Transformed>
```

## Parameters

- `transform`: A mapping closure. transform accepts an element of this sequence as its parameter and returns a transformed value of the same or of a different type.

## Return Value

Return Value An asynchronous sequence that contains, in order, the elements produced by the transform closure.

## Discussion

Discussion Use the map(_:) method to transform every element received from a base asynchronous sequence. Typically, you use this to transform from one type of element to another. In this example, an asynchronous sequence called Counter produces Int values from 1 to 5. The closure provided to the map(_:) method takes each Int and looks up a corresponding String from a romanNumeralDict dictionary. This means the outer for await in loop iterates over String instances instead of the underlying Int values that Counter produces: let romanNumeralDict: [Int: String] =     [1: "I", 2: "II", 3: "III", 5: "V"]

let stream = Counter(howHigh: 5)     .map { romanNumeralDict[$0] ?? "(unknown)" } for await numeral in stream {     print(numeral, terminator: " ") } // Prints "I II III (unknown) V "
