nodejs mysql数据查询回调返回慢怎么回事?

yuhan506 2016-10-10 06:59:44

Dt = Dt || {};
Dt.Dac = (function () {
var tidArray = {};
var absoluteUrl = window.location.origin + "/Dac";
var _dacCallId = 10000;

return {
genericFailurePromptFn: function (a, b, c) {
if (b.status == -1) {
Dt.prompt.error("网络连接失败!");
} else {
var exceptionDetail = '错误码:' + b.status;
Dt.prompt.error("加载数据失败" + exceptionDetail);
}
},
request: function (config) {
var dacCallId = ++_dacCallId;
var beginTime = new Date();
var requestName = config.requestName;
var cacheTid = Ext.isString(requestName);
if (cacheTid) {
if (tidArray[requestName] === undefined) {
tidArray[requestName] = [];
}
}
var c = Ext.applyIf({
url: absoluteUrl,
success: function (conn, response, options) {
whenResponseFn(requestName, conn.tId);
var gspcResponse = Ext.decode(conn.responseText);
var successFn = config.success;
if (gspcResponse.Exception === undefined || gspcResponse.Exception === null) {
rlog.info("调用过程成功");

if (successFn !== undefined) {

var mydate1 = new Date();
console.log("Now Dac Ready to give result!!!!!!!!!!"+mydate1);
successFn(gspcResponse, conn, response, options);

}


} else {
rlog.warn("异常:" );

}
},
failure: function (conn, response, options) {

rlog.warn("调用过程失败:", config.ProcName);

},
timeout: config.timeout ,
jsonData: {
ProcName: config.ProcName,
Params: config.Params || {}
}
}, config);
var contentEncoding = config.ContentEncoding;
if (Ext.isString(contentEncoding) && contentEncoding.length !== 0) {
c.headers = {
'Content-Encoding': contentEncoding
};
}
var result = Ext.Ajax.request(c);
if (cacheTid) {
tidArray[requestName].push(result.tId);
}
return result;
}
};
})();

上面是我的查询封装,下面是我的时间查询应用。现在的情况是结果集多时如超过1万条,从数据库返回的比较快但是,
回调到我的业务处理很慢(执行successFn(gspcResponse, conn, response, options);),到业务处理的success: function (res) 很慢。6万数据要7秒左右!请问怎么回事?


var handleData = function (sendmapMsg) {

var mydate = new Date();
console.log("Now In handleMapData!!!!!!!!!"+mydate);
Dt.Dac.request({
success: function (res) {
var mydate1 = new Date();
console.log("Now In mysql give result!!!!!!!!!!"+mydate1);

},

failure: function () {
Dt.prompt.info("调用p_query_data_map存储过程失败,超时!");
return;
},
ProcName: 'p_query_data',
Params: sendmapMsg
});
};
...全文
863 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,006

社区成员

发帖
与我相关
我的任务
社区描述
解读Web 标准、分析和讨论实际问题、推动网络标准化发展和跨浏览器开发进程,解决各种兼容性问题。
社区管理员
  • 跨浏览器开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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