# SE-0296: async/await

**URL:** <https://forums.swift.org/t/se-0296-async-await/42605>\
**Category:** Proposal Reviews\
**Created:** [December 8, 2020, 6:23pm UTC](https://forums.swift.org/t/se-0296-async-await/42605 "2020-12-08T18:23:26Z")\
**Posts on this page:** 1\
**Showing post:** 206

<div class="post-metadata">

**Author:** ![Douglas\_Gregor](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/douglas_gregor/32/1362_2.png) [@Douglas\_Gregor](https://forums.swift.org/u/Douglas_Gregor)\
**Post date:** [December 23, 2020, 7:22pm UTC](https://forums.swift.org/t/se-0296-async-await/42605/206 "2020-12-23T19:22:02Z")

</div>

> [@Mordil](#):
>
> @davedelong as a side-note, it was explicitly mentioned through the [`Result` proposal review](https://forums.swift.org/t/revised-se-0235-add-result-to-the-standard-library/18371) that the intention is that the type might end up deprecated and was a stop-gap for when we had a first-class concurrency model so that you just annotate `async throws` on a method and never deal with `Result` again.

Part of the reason that `Result` was kept out of the standard library so long is because it's duplicative of `throws`, which causes confusion. `Result` was also [primarily motivated by asynchronous code patterns](https://github.com/apple/swift-evolution/blob/main/proposals/0235-add-result.md#asynchronous-apis) that we knew could be subsumed by an `async` analogue to `throws` in time. But we also knew that "in time" was going to be several years, and having numerous `Result` re-implementations in the ecosystem.

`async`/`await` may only have come up for formal review two weeks ago, but this approach to solving the problem has been around in the Swift community for ~4 years.

Doug

---

_[View the full topic](https://forums.swift.org/t/se-0296-async-await/42605)._
