request.md 2.0 KB
Newer Older
D
DCloud_LXH 已提交
1 2 3 4
## uni.request(param) @request

<!-- UTSAPIJSON.request.description -->

D
DCloud_LXH 已提交
5 6
<!-- UTSAPIJSON.request.compatibility -->

D
DCloud_LXH 已提交
7 8 9 10
<!-- UTSAPIJSON.request.param -->

<!-- UTSAPIJSON.request.returnValue -->

taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
11
::: danger 注意事项
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
12
- 在4.25版本iOS平台增加了Task原生对象自动销毁的逻辑,即网络请求完成后自动释放原生的Task对象,建议开发者在`complete`回调中置空Task对象,例
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
13 14 15 16 17 18 19

```typescript
complete: () => {
            this.task = null
          },
```

taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
20
如不释放,在调用Task对象的方法将导致控制台报错:
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
21 22
`error: instance object does not exist: id:15`
:::
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
23 24


D
DCloud_LXH 已提交
25 26 27 28
<!-- UTSAPIJSON.request.tutorial -->

<!-- UTSAPIJSON.request.example -->

W
wanganxp 已提交
29
## cookie管理
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
30
- uni-app x 4.0+,app-android平台的 `uni.request``uni.uploadFile``uni.downloadFile`,之间支持共享cookie [Cookie共享介绍](network-summarize.md)
W
wanganxp 已提交
31

D
DCloud_LXH 已提交
32 33
## 注意事项

W
wanganxp 已提交
34
* 推荐使用成熟的网络拦截器插件,见[插件市场](https://ext.dcloud.net.cn/search?q=%E7%BD%91%E7%BB%9C%E6%8B%A6%E6%88%AA%E5%99%A8&uni-appx=1)
35
* app-android平台 request 接口如需包装和传递泛型,需参考[泛型传递丢失注意](../plugin/uts-for-android.md#lost-generics)。成熟的拦截器插件均已自动处理这些问题。
D
DCloud_LXH 已提交
36
* 如果使用泛型先创建RequestOptions实例,再传入uni.request(),此时请务必确保request要显式指定泛型,例:
W
wanganxp 已提交
37 38 39 40
```typescript
const options: RequestOptions<Person> = ...
uni.request<Person>(options)
```
taohebin@dcloud.io's avatar
taohebin@dcloud.io 已提交
41
* app-android、app-ios平台 uni.request()暂未支持Promise,返回值是RequestTask。
W
wanganxp 已提交
42
* web平台 request接口在 4.01版本之前返回数据是一个普通对象,4.01起调整为UTSJSONObject类型
W
wanganxp 已提交
43
* web平台 request接口目前不支持创建传入的泛型的实例
D
DCloud_LXH 已提交
44

W
wanganxp 已提交
45
由于uni-app x的强类型,导致联网相关开发有一些不同,请不熟悉强类型的开发者务必阅读教程:[uni-app x的联网教程](../tutorial/request.md)
W
wanganxp 已提交
46

D
DCloud_LXH 已提交
47 48 49
<!-- UTSAPIJSON.general_type.name -->

<!-- UTSAPIJSON.general_type.param -->