如何解决为什么我的 mocha 测试似乎在同步运行?
我正在尝试 ping 多个网站进行健康检查,如果我只想使用 Promise.all 和 map,我可以这样做:
const responses = await Promise.all(links.map((link) => fetch(link));
// check all the responses somehow
这工作得非常快,然后我可以在响应完成后对其进行处理,在 mocha 中我以编程方式使用它并添加如下测试:
import Mocha from "mocha";
const Test = Mocha.Test;
const mocha = new Mocha();
const suite = Mocha.Suite.create(mocha.suite,"Check Websites Health");
links.forEach((link) => {
const test = new Test(`Check ${link}`,async function () {
const response = await fetch(link);
//do something with response
);
suite.addTest(test);
});
suite.run();
这要慢得多,似乎要等待上一个测试,然后再进行下一个测试,是否有一些选择,或者我遗漏了什么重要的东西?我认为这些测试不需要等待。
我知道我可以事先初始化承诺,然后检查结果,但我认为这没有必要,而且我失去了响应在持续时间内所花费的时间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。