所以我们正面临这个奇怪的问题。表单上有一个Customer列表,其类型为List / Record。根据在此列表中选择的客户,我使用nlapiRemoveLineItem()调用清除子表单上的事务列表。一切运作良好TILL客户列表中正确选择了客户。
现在,我只想输入客户名称abc&它会自动填充而不会选择它,在这种情况下,另一个列表中的nlapiRemoveLineItem()会失败并且只是在此列表中添加新项目。
这里到底发生了什么?有人可以帮忙吗?
答案 0 :(得分:0)
Javascript以异步方式运行,这意味着如果您调用加载客户等事件,浏览器将不会等待结果在执行下一个命令之前返回,在本例中为nlapiRemoveLineItem。
所以发生的事件顺序如下:
你想要的是:
要实现这一点,你可以使用像q这样的promise库(最好的方式),做一个while循环来等待客户回来,或者做懒惰的方式并执行setTimeout并执行围绕你希望客户回来的时间。