问题已解决,这是一个特定的 web2py 问题。
def FirstAjax():
session.forget(response) # unlock the session file
[rest of code]
与 web2py 对话以不锁定会话文件,以便第二个 ajax 可以立即启动。另一种方法是设置:
session.connect(request, response, db)
在您的模型中,这意味着会话不会保存在文件中,而是保存在您的 DAL“db”中,因此该会话不会被锁定。
这两种解决方案对于我的需要是相同的。
在我的情况下,我还需要在按下后退按钮时进行设备释放,只需添加一个要在轮询周期中检查的标志,例如:
def FirstAjax():
session.forget(response) # unlock the session file
HSCAN.SetLeave(False)
HSCAN.PollingCycle()
#Rest of code
def SecondAjax():
HSCAN.SetLeave(True)
#Rest of code
class myHandScanner():
def __init__(self):
self.leave = False
def SetLeave(self, leave):
self.leave = leave
def PollingCycle(self):
while True:
if self.leave:
#Do device release
return
if something is read:
val = something
break
#Do device release
return val
谢谢大家,希望这会有所帮助!