Javascript NodeJS使用回调在for循环中调用GET方法
我正在使用NodeJS和Express并迭代字符串数组,例如:Javascript NodeJS使用回调在for循环中调用GET方法,javascript,node.js,express,for-loop,callback,Javascript,Node.js,Express,For Loop,Callback,我正在使用NodeJS和Express并迭代字符串数组,例如: [ "1" , "+" , "B4", "*", "8"] 如果字符串包含一个字母,函数应该关闭并调用GET方法从数据库中检索值。到目前为止,我的代码如下所示: function processFormula(formula) { console.log(formula) var arr = formula.split(" "); for (var i = 0; i < arr.length; i
[ "1" , "+" , "B4", "*", "8"]
如果字符串包含一个字母,函数应该关闭并调用GET方法从数据库中检索值。到目前为止,我的代码如下所示:
function processFormula(formula) {
console.log(formula)
var arr = formula.split(" ");
for (var i = 0; i < arr.length; i++) {
if (arr[i].match(/[a-z]/i)) {
/* fetch the value and store it in arr[i] */
}
return arr.toString();
}
突然出现了很多。我正在努力理解我应该把回调放在哪里,以迭代方式处理这种情况
非常感谢您的帮助 这很难协调。您可以尝试使用HTTP请求库,如使用承诺的
axios
。然后,您可以使用Promise.all
来协调所有请求。您可以在for中添加另一个if,并返回到最后一个元素:
for(var i = 0; i < arr.length; i++){
if (arr[i].match(/[a-z]/i)) {
/* fetch the value and store it in arr[i] */
}
if(i == arr.length-1){
return arr.toString();
}
}
for(变量i=0;i
还有一个建议,尝试使用
array.length
outside for循环,因为每个循环都将计算数组的长度,以检查是否满足条件,因此每次都要遍历数组。(我在回答中没有改变这一点)。只需在循环之前执行,然后执行var size=array.length
首先查看第一个问题:。关于循环,请看一看其中一个:感谢Felix的帮助
for(var i = 0; i < arr.length; i++){
if (arr[i].match(/[a-z]/i)) {
/* fetch the value and store it in arr[i] */
}
if(i == arr.length-1){
return arr.toString();
}
}