获取node异步执行结果的方式
Posted wyr-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取node异步执行结果的方式相关的知识,希望对你有一定的参考价值。
拿数据库操作举例:
var connection = mysql.createConnection();
connection.query(sql,function(err,rows){xxx} );
如果写成:
var rows = connection.query(sql,function(err,rows){xxx} ); //connection.query()不返回值,最后打印出undefined
console.log(rows);
或者
var res;
connection.query(sql,function(err,rows){ res = rows; } );
console.log(res); //connection.query()是异步执行的,其还未执行完就执行此句打印语句打印出undefined;
解决方法:
function query(callback){
connection.query(sql,function(err,rows){
if(err)
console.log(err); return;
callback(rows);
}
function callback(rows){
console.log(rows)
}
这也是node.js 获取异步执行结果的最常用方式,通过给异步函数一个函数参数来处理异步执行结果;
以上是关于获取node异步执行结果的方式的主要内容,如果未能解决你的问题,请参考以下文章