大佬教程收集整理的这篇文章主要介绍了node.js 异步流程控制async,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
node.js其最大的优势在于高并发,而高并发的背后最核心的就是异步了。node.js中几乎所有函数都是异步。但是,这对于结构化编程简直是个噩梦。
比如我希望1)打开数据2)查询A 表3)当A.userid=10时查询B表
在Node.js中差不就是如下了(伪代码)
db.open( function(err,db )
{
if( !err)
{
db.SELEct( @H_404_21@'A',function( err,results)
{
if( result.userid==10)
{
db.SELEct( @H_404_21@'B',results) {
db.close()
})
}
})
}
}
)
疯狂的嵌套.
福利来了nodejs 7+以上默认支持的async完美解决这个问题 又保留了node.js的异步
以redis.get为例
var redis = require(@H_404_21@"redis")
var client = redis.createClient(config.redis.port,config.redis.host );
var getValue=function( key ) {
return new Promise(function(resolve,reject) {
client.get(key,function(err,C) {
if (err) {
mongodb.close();
return reject(err);
}
resolve(c);
});
});
};
async function getV( key ) {
let data = await getValue( key )
return data
}
async xxxx.在async内部代码看起来岂不是和同步代码一样呢?
使用方法 可以是为下面的,我们在getV中resurun的数据都会在function(result )中得到 getV(‘x’).then( function(result ){ })
以上是大佬教程为你收集整理的node.js 异步流程控制async全部内容,希望文章能够帮你解决node.js 异步流程控制async所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。