【发布时间】:2019-10-06 21:57:26
【问题描述】:
我有一个数组。我需要迭代数组,直到找不到数据。一旦找到数据,我需要中断 for 循环并返回这些数据。
const arrayData = ['1', '2', '3']
for (let i = 0; i < arrayData.length; i++) {
data = await getSomeDataFromDB(arrayData[i]) // get data from DB
if (data.length >= 1) { break } // If found break for loop else iterate again
}
return { items: data }
我已经使用了上面的代码。这是处理这种情况的正确方法还是其他更好的方法?
感谢您的帮助!
【问题讨论】:
-
看起来不错,虽然我会改用
for..of,但弄乱手动索引是丑陋的 -
谢谢@CertainPerformance 或您的建议
-
代码看起来不错,是
getSomeDataFromDB方法返回promise吗?仅当从method返回promise时,await才会起作用。另外,将代码包装在try, catch中以处理错误 -
@ArUn 是的,这是 dynamoDB 的承诺。感谢您的
try...catch建议。
标签: javascript node.js for-loop async-await aws-lambda