You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用async/await时,URLSession.data传URLRequest报错如何解决?

URLSession async/await 传入URLRequest报错的解决办法

你遇到的问题是因为URLSession.shared.data(from:)这个异步方法的参数要求是URL类型,但你传入的是URLRequest,类型不匹配导致报错。

要传入URLRequest的话,直接改用data(for:)方法即可,这个方法专门接收URLRequest参数,适配async/await写法。修改后的代码如下:

let request = createURLRequest(toEndpoint: endpoint, using: method, body: body)
let (data, response) = try await URLSession.shared.data(for: request)

简单区分下这两个方法:

  • data(from:):适合直接用URL发起简单请求的场景
  • data(for:):支持传入自定义配置的URLRequest,刚好匹配你用createURLRequest生成的请求对象

内容的提问来源于stack exchange,提问作者Rue Vitale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:52:32