几天以来,我正在从Java学习Javascript和Vue,但无法通过async / await解决我的Node,Express应用程序的问题。下面的代码接收来自请求的Stock符号列表,然后通过循环检查是否有任何符号的详细信息已缓存在Redis中。
var controllers = {
getcurrentPrice: function(req,res) {
var symbolsArray = req.body.symbols;
var results = [];
var tmpArray = [];
_(symbolsArray).each( async function(symbol,iPos) {
client.hget("realtime",symbol,function(err,reply) {
if(reply) {
await results.push(reply);
} else {
await tmpArray.push(symbol);
}
console.log("reply",reply);
});
});
console.log("Results so far ",results);
if( !tmpArray || tmpArray.length == 0 ) { //will be fetching these now }
}
}
在内部控制台语句中获取输出,但不在外部控制台语句中获取。我曾尝试过通过redis-co等网络解决方案来简化redis的调用,但是并不能完全解决它。