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

QQ登录

只需一步,快速开始

查看: 4117|回复: 15

[结贴] SqliteUtil.executeSql 这个函数怎么改成同步执行

[复制链接]

27

主题

175

帖子

352

积分

中级会员

Rank: 3Rank: 3

积分
352
QQ
发表于 2016-12-12 21:14:17 | 显示全部楼层 |阅读模式
SqliteUtil.executeSql,这个函数默认被改成了异步执行,但有时候需要同步执行的,比如新增记录获取数据库中连续的编号。不可能等待 异步回调。
发表于 2016-12-13 09:46:49 | 显示全部楼层
可以通过popOver加遮罩 的形式,执行回调或逻辑执行完后,再去掉遮罩
遮罩的作用就是等待异步程序执行完才可以操作的!是能够实现同步的效果的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

27

主题

175

帖子

352

积分

中级会员

Rank: 3Rank: 3

积分
352
QQ
 楼主| 发表于 2016-12-13 13:35:59 | 显示全部楼层
liangyongfei 发表于 2016-12-13 09:46
可以通过popOver加遮罩 的形式,执行回调或逻辑执行完后,再去掉遮罩
遮罩的作用就是等待异步程序执行完才 ...

没有明白唉,可以具体点吗?谢谢
回复 支持 反对

使用道具 举报

发表于 2016-12-13 14:27:03 | 显示全部楼层
dkerlo 发表于 2016-12-13 13:35
没有明白唉,可以具体点吗?谢谢

你的意思不就是执行异步代码的时候,页面不可操作吗??
使用popOver 组件,遮罩就可以实现!

等待异步代码执行完后,再调用其它代码,可以在异步的回调方法中进行调用!

这样就是模拟代码的同步执行啦!
就是保证这个调用完毕后再进行页面操作和 调用其他方法
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

27

主题

175

帖子

352

积分

中级会员

Rank: 3Rank: 3

积分
352
QQ
 楼主| 发表于 2016-12-14 08:05:44 | 显示全部楼层
不是的。比如我要获取sqlite里面最大的编号,然后按照规则累计+1生成新的编号,要马上新增记录。这种情况,不可能用异步啊。
回复 支持 反对

使用道具 举报

发表于 2016-12-14 09:55:01 | 显示全部楼层
dkerlo 发表于 2016-12-14 08:05
不是的。比如我要获取sqlite里面最大的编号,然后按照规则累计+1生成新的编号,要马上新增记录。这种情况, ...

编号递增,应该是创建数据库表的时候提供的定义
新增的时候自动递增,不用查询获取再递增吧!
上网查下:
http://blog.csdn.net/lifan_3a/article/details/42639769

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

27

主题

175

帖子

352

积分

中级会员

Rank: 3Rank: 3

积分
352
QQ
 楼主| 发表于 2016-12-14 11:53:00 | 显示全部楼层
liangyongfei 发表于 2016-12-14 09:55
编号递增,应该是创建数据库表的时候提供的定义
新增的时候自动递增,不用查询获取再递增吧!
上网查下: ...

不是自增字段,是客户所用的编号,比如合同编号,中间还有特殊字符拼接,这种只能去同步获取,按规则生成的。
回复 支持 反对

使用道具 举报

发表于 2016-12-14 13:23:51 | 显示全部楼层
dkerlo 发表于 2016-12-14 11:53
不是自增字段,是客户所用的编号,比如合同编号,中间还有特殊字符拼接,这种只能去同步获取,按规则生成 ...

sqlite 是手机自带的数据库!异步获取也是可以的,为什么不行!
还有一个办法就是,在数据库中查询一次后,就放在缓存里面,,每次在缓存里面递增就可以了!不用每次都查数据库!
这个值肯定只有一个功能访问,所以也不会存在冲突的问题,
放在缓存里,js变量标记一下递增就可以的
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

27

主题

175

帖子

352

积分

中级会员

Rank: 3Rank: 3

积分
352
QQ
 楼主| 发表于 2016-12-14 14:24:39 | 显示全部楼层
默认是异步的,我就是要同步,马上返回结果。这个编号还跟当前登录人员有关,放缓存里面么有用啊。
回复 支持 反对

使用道具 举报

发表于 2016-12-14 14:59:46 | 显示全部楼层
dkerlo 发表于 2016-12-14 14:24
默认是异步的,我就是要同步,马上返回结果。这个编号还跟当前登录人员有关,放缓存里面么有用啊。 ...

每次APP启动或登录的时候,查下一下sqlite ,把这个值查出来,可以赋值给shell 对象,类似:http://docs.wex5.com/wex5-ui-question-list-2096

sqlite很快的,又是本地查寻,同步异步都一样的,没区别!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 08:27 , Processed in 0.089232 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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