javascript两个函数并发互斥执行

xcode2016 2006-12-22 06:08:47
怎样做到js中两个函数并发执行?
本人碰到一个问题:当单击一个按钮触发事件时,就调用了A函数,而A函数里面有B函数和C函数,B函数需查找数据库把一个结果写在一个数组D里面,而C函数也一样,
把结果写在数组E里面,问题就是:C函数里面涉及到B函数和C函数所有结果的处理,不只是数组E的问题,而且要看数组D,怎么知道函数B执行完呢?
另外,定义一个全局变量的数组,数组push元素,有没有最直接的方法把它清空,不需要pop 方法,这个效率太低。。。。
谢~~~
...全文
624 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
csharpxml 2006-12-24
  • 打赏
  • 举报
回复
to Amwpfiqvy
你没看他用的是 push方法,如果数组中本来已经含有数组判断其不是不准确了,我觉得还是用一个bool来搞顶.
Apq001 2006-12-24
  • 打赏
  • 举报
回复
不是我没看清:
array1 =[];//人家把这句放searchFirst里了


我的办法足以应付他的代码了。
Apq001 2006-12-23
  • 打赏
  • 举报
回复
清空数组有一招:
array1.length = 0;
Apq001 2006-12-23
  • 打赏
  • 举报
回复
判断 array1 的长度就知道了啊

if( array1.length )
{
// 有内容了。
}
csharpxml 2006-12-23
  • 打赏
  • 举报
回复
定义两个个全局bool
var isFillAarry1 = false;
var isFillArray2 = false;

for( var i=0; i<.......................){
a1.push(result2[i])
isFillAarry1 = true;
}
if( isFillAarry1=true ){
//ok....
isFillAarry1 = false;
}
xcode2016 2006-12-23
  • 打赏
  • 举报
回复
能不能说详细一点?
比如如下代码:
<input type="button" value="search" onclick="doSearch()" />
......
var array1,array2;
function doSearch()
{
searchFirst();
searchSecond();
}
function searchFirst()
{
array1 =[];
for(var i=0;i<result1.length;i++) //result1是一个结果数组
{
array1.push(result1[i]);
}
}
function searchSecond()
{
array2 =[];
for(var i=0;i<result2.length;i++) //result2是一个结果数组
{
array2.push(result2[i]);
}
????在这里需要对数组array1和array2进行处理,怎么知道函数searchFirst执行玩了,array1里面有值了,
谢~~~~~~
}
li1229363 2006-12-22
  • 打赏
  • 举报
回复
不用在数组中做标记吧?应该在函数B中做标记,而且把这个标记当作参数传递给C~
cpp2017 2006-12-22
  • 打赏
  • 举报
回复
比如数据D的第一个元素放一个标志.
在B中处理时开始置为0结束后置为1. C里面检测这个值就可以了

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧