我正在尝试使用 Node.js + Express 作为 Web 服务器来学习一些东西,试图使其异步。我创建了一个应用程序来测试排序算法的时间复杂度(大学作业的灵感),但它并没有按照我的预期异步工作。对 Express 服务器的任何其他 REST 调用都会被阻止,直到前一个排序代码完成运行。我还使用“express-namespace-routes”来拥有一些命名空间,因此它看起来像一个 API 调用。
这是我的班级排序:
class Sort {
static async binarySearch(array, inf, sup, key) {
let half = inf + Math.floor((sup - inf) / 2);
if (inf == sup) return inf;
else if (key > array[half]) return this.binarySearch(array, half + 1, sup, key);
else if (key < array[half]) return this.binarySearch(array, inf, half, key);
else return half;
}
static async binaryInsertionSort(array) {
let changes = 0;
const time = process.hrtime();
for (let …Run Code Online (Sandbox Code Playgroud)