deno/cli/tests/015_duplicate_parallel_import.js
Ryan Dahl 9cfdc60a23
Move integration tests to //cli/tests/ (#2964)
This ensures the deno executable is properly created before running the integration tests.

Also allows deno_cli to be used as a lib. Docs are now properly generated: https://docs.rs/deno_cli/0.18.4/deno_cli/

Towards #2933
Prep for #2955
2019-09-16 21:05:14 -04:00

21 lines
506 B
JavaScript

// Importing the same module in parallel, the module should only be
// instantiated once.
const promises = new Array(100)
.fill(null)
.map(() => import("./subdir/mod1.ts"));
Promise.all(promises).then(imports => {
const mod = imports.reduce((first, cur) => {
if (typeof first !== "object") {
throw new Error("Expected an object.");
}
if (first !== cur) {
throw new Error("More than one instance of the same module.");
}
return first;
});
mod.printHello3();
});