---
title: "Custom Phases Async URL Image | Explore SwiftUI"
description: "Loads and displays a modifiable image from the specified URL load request in phases"
canonical_url: "https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image"
meta:
  author: "Explore SwiftUI"
  "og:description": "Loads and displays a modifiable image from the specified URL load request in phases"
  "og:image": "https://exploreswiftui.com/_og/d/c_Component%2Ctitle_Custom%2BPhases%2BAsync%2BURL%2BImage%2Cdescription_Explore%2Bvisually%2Bwith%2Bcode%2Bexamples%2Ccategory_AsyncImage%2Cprops_eyJwbGF0Zm9ybXMiOlsiaU9TIiwiaVBhZE9TIiwibWFjT1MiLCJ3YXRjaE9TIiwidHZPUyIsInZpc2lvbk9TIl19%2Cp_Ii9saWJyYXJ5L2FzeW5jaW1hZ2UvY3VzdG9tLXBoYXNlcy1hc3luYy11cmwtaW1hZ2Ui%2Cs_7cRmJbhU9npOIVqc.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "Custom Phases Async URL Image | Explore SwiftUI"
  "twitter:description": "Loads and displays a modifiable image from the specified URL load request in phases"
  "twitter:image": "https://exploreswiftui.com/_og/d/c_Component%2Ctitle_Custom%2BPhases%2BAsync%2BURL%2BImage%2Cdescription_Explore%2Bvisually%2Bwith%2Bcode%2Bexamples%2Ccategory_AsyncImage%2Cprops_eyJwbGF0Zm9ybXMiOlsiaU9TIiwiaVBhZE9TIiwibWFjT1MiLCJ3YXRjaE9TIiwidHZPUyIsInZpc2lvbk9TIl19%2Cp_Ii9saWJyYXJ5L2FzeW5jaW1hZ2UvY3VzdG9tLXBoYXNlcy1hc3luYy11cmwtaW1hZ2Ui%2Cs_7cRmJbhU9npOIVqc.png"
  "twitter:title": "Custom Phases Async URL Image | Explore SwiftUI"
---

> Index of every page on this site: [llms.txt](https://exploreswiftui.com/llms.txt)

**Interactive previews**[ iPhone](https://exploreswiftui.com/iphone?element=193)

# **Custom Phases Async URL Image**

Loads and displays a modifiable image from the specified URL load request in phases.

![Custom Phases Async URL Image - iOS on iPhone - Portrait - Liquid Glass - Light Mode - Preview](https://exploreswiftui.com/api/images/193/variants/215?v=1790073478842&r=2&w=800&q=80&f=webp)

### **Platform Compatibility**

iOS 27.0+ iPadOS 27.0+ macOS 27.0+ watchOS 27.0+ tvOS 27.0+ visionOS 27.0+

### **Tags**

### **SwiftUI Code**

[ Docs](<https://developer.apple.com/documentation/swiftui/asyncimage/init(request:scale:transaction:content:)>)

```
VStack {
    AsyncImage(url: URL(string: "http://slowww.rf.gd")!) { phase in
        if let image = phase.image {
            image
        } else if phase.error != nil {
            Color.red
        } else {
            ProgressView()
        }
    }
    AsyncImage(url: URL(string: "https://exploreswiftui.com")!) { phase in
        if let image = phase.image {
            image
        } else if phase.error != nil {
            Color.red
        } else {
            ProgressView()
        }
    }
    .frame(height: 100)
    AsyncImage(url: URL(string: "https://exploreswiftui.com/images/cats.jpg")!) { phase in
        if let image = phase.image {
            image
                .resizable()
                .scaledToFit()
        } else if phase.error != nil {
            Color.red
        } else {
            ProgressView()
        }
    }
    .frame(height: 100)
}
```

### **Found an issue or have a suggestion?**

Created: June 8, 2026Updated: June 9, 2026

![Connect Wizard](https://exploreswiftui.com/_ipx/f_webp&q_80&s_48x48/images/connect-wizard-icon.png)

**Connect Wizard**

**Unlock insights App Store Connect doesn’t show you.**

[** Get Started **](https://apps.apple.com/app/apple-store/id6747314580?pt=121213751&ct=Explore%20SwiftUI%20Banner&mt=8)

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://exploreswiftui.com/#website","@type":"WebSite","description":"A visual library for SwiftUI APIs, components, and modifiers","inLanguage":"en-US","name":"Explore SwiftUI","url":"https://exploreswiftui.com/","publisher":{"@id":"https://exploreswiftui.com/#identity"}},{"@id":"https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image#webpage","@type":"WebPage","dateModified":"2026-06-09T18:01:35.071Z","datePublished":"2026-06-08T23:19:46.033Z","description":"Loads and displays a modifiable image from the specified URL load request in phases","name":"Custom Phases Async URL Image","url":"https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image","breadcrumb":{"@id":"https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image#breadcrumb"},"isPartOf":{"@id":"https://exploreswiftui.com/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image"]}],"primaryImageOfPage":{"@id":"https://exploreswiftui.com/#logo"}},{"@id":"https://exploreswiftui.com/#identity","@type":"Organization","description":"A visual library for SwiftUI APIs, components, and modifiers","name":"Explore SwiftUI","url":"https://exploreswiftui.com","logo":{"@id":"https://exploreswiftui.com/#logo"},"sameAs":["https://x.com/Typ0genius","https://mastodon.social/@Typ0genius"]},{"@id":"https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image#article","dateModified":"2026-06-09T18:01:35.071Z","datePublished":"2026-06-08T23:19:46.033Z","description":"Loads and displays a modifiable image from the specified URL load request in phases","headline":"Custom Phases Async URL Image","inLanguage":"en-US","name":"Custom Phases Async URL Image","thumbnailUrl":"https://exploreswiftui.com/api/images/193/variants/215?v=1790073478842&r=2","url":"https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image","@type":["Article","TechArticle"],"about":{"@type":"Thing","name":"SwiftUI"},"author":{"@id":"https://exploreswiftui.com/#identity"},"image":{"@id":"https://exploreswiftui.com/#/schema/image/1"},"isPartOf":{"@type":"WebSite","name":"Explore SwiftUI","url":"https://exploreswiftui.com"},"mainEntityOfPage":{"@id":"https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image#webpage"},"publisher":{"@id":"https://exploreswiftui.com/#identity"}},{"@id":"https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image#/schema/software-source-code/1","@type":"SoftwareSourceCode","codeRepository":"https://developer.apple.com/documentation/swiftui/asyncimage/init(request:scale:transaction:content:)","codeSampleType":"full example","description":"Loads and displays a modifiable image from the specified URL load request in phases","name":"Custom Phases Async URL Image SwiftUI Example","programmingLanguage":"Swift","runtimePlatform":"SwiftUI","text":"VStack {\n    AsyncImage(url: URL(string: \"http://slowww.rf.gd\")!) { phase in\n        if let image = phase.image {\n            image\n        } else if phase.error != nil {\n            Color.red\n        } else {\n            ProgressView()\n        }\n    }\n    AsyncImage(url: URL(string: \"https://exploreswiftui.com\")!) { phase in\n        if let image = phase.image {\n            image\n        } else if phase.error != nil {\n            Color.red\n        } else {\n            ProgressView()\n        }\n    }\n    .frame(height: 100)\n    AsyncImage(url: URL(string: \"https://exploreswiftui.com/images/cats.jpg\")!) { phase in\n        if let image = phase.image {\n            image\n                .resizable()\n                .scaledToFit()\n        } else if phase.error != nil {\n            Color.red\n        } else {\n            ProgressView()\n        }\n    }\n    .frame(height: 100)\n}","about":[{"@type":"Thing","name":"SwiftUI"},{"@type":"Thing","name":"AsyncImage"},{"@type":"Thing","name":"Custom Phases Async URL Image"}]},{"@id":"https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Home","item":"https://exploreswiftui.com","position":1},{"@type":"ListItem","name":"AsyncImage","item":"https://exploreswiftui.com/library/asyncimage","position":2},{"@type":"ListItem","name":"Custom Phases Async URL Image","item":"https://exploreswiftui.com/library/asyncimage/custom-phases-async-url-image","position":3}]},{"@id":"https://exploreswiftui.com/#logo","@type":"ImageObject","caption":"Explore SwiftUI","contentUrl":"https://exploreswiftui.com/apple-touch-icon.png","inLanguage":"en","url":"https://exploreswiftui.com/apple-touch-icon.png"},{"@id":"https://exploreswiftui.com/#/schema/image/1","@type":"ImageObject","contentUrl":"https://exploreswiftui.com/api/images/193/variants/215?v=1790073478842&r=2","inLanguage":"en","url":"https://exploreswiftui.com/api/images/193/variants/215?v=1790073478842&r=2"}]}
```