在javascript中运行异步命令

时间:2015-04-17 19:55:57

标签: javascript asynchronous

我正在通过javascript运行数据库查询,我想显示一条消息"查询正在运行"而查询语句正在执行。但是在整个查询运行之前,该消息才会显示。 在javascript中执行此操作的方法是什么?我是一个javascript初学者和自学者,我无法弄清楚这样做。我用Google搜索但无法找到有用的东西。我的代码是:

function runThisQuery() {
     var connection = new ActiveXObject("ADODB.Connection"); 
     var rs = new ActiveXObject("ADODB.Recordset"); 
     var connectionstring="Provider=SQLOLEDB;Data Source=server;Initial Catalog=DB;Integrated Security=SSPI";
     connection.Open(connectionstring);

     //code till here is fine

     var dummyCell = document.createElement('td');
     dummyCell.setAttribute('id','dummyCell');
     var dummyCellText = document.createTextNode("running query");
     dummyCell.appendChild(dummyCellText);
     document.getElementById("mismatchSummaryRow").appendChild(dummyCell);

     rs.Open(runThisQuery, connection); //step A
}

我在上面创建的表格单元格仅在运行整个查询(步骤A)后显示。我想在执行整个查询(在步骤A中)之前显示消息。 在JavaScript中执行此操作的方法是什么?

1 个答案:

答案 0 :(得分:0)

得到答案。 [贬低问题的人,至少说明原因。这个问题有什么问题????]

将整个数据库提取代码放在setTimeout函数中。

function runThisQuery() {
   setTimeout(function() {
   var connection = new ActiveXObject("ADODB.Connection"); 
   var rs = new ActiveXObject("ADODB.Recordset"); 
   var connectionstring="Provider=SQLOLEDB;Data Source=server;Initial Catalog=DB;Integrated Security=SSPI";
   connection.Open(connectionstring);
   rs.Open(runThisQuery, connection);
   },1000);
var dummyCell = document.createElement('td');
dummyCell.setAttribute('id','dummyCell');
var dummyCellText = document.createTextNode("running query");
dummyCell.appendChild(dummyCellText);
document.getElementById("mismatchSummaryRow").appendChild(dummyCell);     
}