起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4537|回复: 6

[结贴] 当界面使用biz.Request.sendBizRequest请求接口的时候,界面处理

[复制链接]

20

主题

73

帖子

179

积分

初级会员

Rank: 2

积分
179
QQ
发表于 2019-4-29 22:49:04 | 显示全部楼层 |阅读模式
当一个功能使用biz.Request.sendBizRequest调用外部接口的时候,由于接口时间稍长,我需要在界面给用户一个遮罩或者提示效果,在接口调用后取消遮罩,或者提示已完成。
这个遮罩效果怎么做呢?我尝试使用了justep.util.hint方法,做提示,即执行前,执行后分别提示。但是,过程中发现,我只能看到最后的执行完成的hint提示消息。
我需要一个有效的处理办法,在request请求的等待时间中,有效控制界面,不让用户做其他操作。或者,能够准确提示,告知用户进展。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36044
发表于 2019-4-30 14:37:02 | 显示全部楼层
可以用popOver,在调用biz.Request.sendBizRequest前面调用popOver展现,在成功回调函数中调用popOver隐藏
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

20

主题

73

帖子

179

积分

初级会员

Rank: 2

积分
179
QQ
 楼主| 发表于 2019-5-1 20:30:24 | 显示全部楼层
您没能解决我的问题,尽管popOver可以遮罩,但是仍是跟其他尝试一样的。当我调用方法时,popOver并没有在等待的时候展示出来,尽管我在bizRequest之前调用,在调用成功后隐藏,这中间有2秒左右的等待,但是,popOver没有出现。当我去掉hide方法时,我发现,popOver出现在所以代码执行完毕后。这是为什么呢。
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
发表于 2019-5-5 09:03:42 | 显示全部楼层
by198787 发表于 2019-5-1 20:30
您没能解决我的问题,尽管popOver可以遮罩,但是仍是跟其他尝试一样的。当我调用方法时,popOver并没有在等 ...

因为show方法和sendBizRequest方法之间的时间间隔太小了。

你调用了show,并不表示popOver显示后才会调用sendBizRequest。popOver组件的展示、渲染都需要时间,并不是瞬时的。当调用show后,紧接着调用sendBizRequest,在popOver组件弹出、渲染的过程中发起了ajax请求,这个sendBizRequest是同步的,sync的,直接阻塞浏览器,导致页面假死,所以popOver无法展现(被阻塞了)

建议sendBizRequest 改为设为异步,在sendBizRequest 的回调中隐藏popOver
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4308

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4308
发表于 2019-5-5 09:12:40 | 显示全部楼层
本帖最后由 江苏院-吴昊 于 2019-5-5 09:13 编辑

再多插一句,平台将所有请求默认设为同步会有问题的,体验会非常非常非常不好。

我觉得平台构建那时候还没有比较完善的解决方案,使用异步有过多的回调会导致“callback地狱”,所以干脆使用同步操作,这样写代码时就可以“一行一行”写函数调用,几乎不写回调。
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

65

主题

242

帖子

1194

积分

金牌会员

Rank: 6Rank: 6

积分
1194
QQ
发表于 2019-5-5 09:23:34 | 显示全部楼层
可以用sendBizAsyncRequest
回复 支持 反对

使用道具 举报

20

主题

73

帖子

179

积分

初级会员

Rank: 2

积分
179
QQ
 楼主| 发表于 2019-5-5 15:51:35 | 显示全部楼层
江苏院-吴昊 发表于 2019-5-5 09:12
再多插一句,平台将所有请求默认设为同步会有问题的,体验会非常非常非常不好。

我觉得平台构建那时候还没 ...

谢谢您的回复,对我很有启发。这里要改变思路处理了。可以结贴了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-9-22 15:31 , Processed in 0.070938 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表