javascript - 对数组的所有元素执行一个函数
问题描述
嘿伙计们,我有一个由如下元素组成的数组
var arr = ['america','france','house','paris','table','new york']
我想从我的数据库中验证是否都是州或国家或首都
这是我检查单个元素的示例代码
let isValid = await db.worldDb.verifyQuery(query);
let verified;
['state','capital','country'].includes(isValid.response)? verified = true : verified = false;
我想将上面的代码传递给数组中的所有元素并创建一个通用函数,因此如果有任何测试失败,则该函数将返回 false,但如果全部通过,则返回 true。
解决方案
Promise.all
正是您所需要的。
var arr = ['america','france','house','paris','table','new york']
try {
await Promise.all(arr.map(async a => {
const isValid = await db.worldDb.verifyQuery(query);
const verified = ['state','capital','country'].includes(isValid.response);
if(!verified) throw new Error();
}));
// here is ok
} catch(e) {
// here is not verified
}
推荐阅读
- javascript - 通过 getstream.io 使用目标提要发送通知
- reactjs - React 站点,尝试嵌入应用程序,但我不知道如何集成到组件中(在静态页面上工作)
- r - 为什么我的 R 代码中出现“breaks not unique”错误?
- powershell - 在 Select-Object 完成之前继续在脚本中使用 Select-Object
- javascript - 带有 Async 和 Await 的 Javascript 中的问题,无法让函数等待第一个函数完成
- macos - bower install 不会创建包含软件包的文件夹,即使它是使用 .bowerrc (Mac) 设置的
- apache-spark - 内存中的 DataFrame 寿命,Spark?
- c++ - c++ throw with try catch all always hits 在 C++ 11 14 和 17 中终止
- c++ - 从 C 样式数组初始化 STL 数组的最佳方法是什么?
- python - 如何将我的扭曲聊天链接到我的 github 网站?