Skip to content

Commit 63de926

Browse files
Hussein NasserHussein Nasser
authored andcommitted
import vs require
1 parent e03fdfa commit 63de926

File tree

15 files changed

+87
-35
lines changed

15 files changed

+87
-35
lines changed

06-check/061-setImmediatevstimer.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
setTimeout(() => {
77
console.log('timeout');
88
}, 0);
9-
setImmediate(() => {
9+
10+
setImmediate(() => {
1011
console.log('immediate');
1112
});

08-nextTick/083-nextTickInit.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ function test () {
66
//the output is undefined
77
//if we call it through nextTick
88
//the output is 1
9-
//process.nextTick( test)
9+
process.nextTick( test)
1010
//test()
1111
//setTimeout( test, 0)
1212
val = 1;

09-importvsrequire/090-require.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
1+
//.js supports both require and import
2+
//.mjs only supports import
3+
14
console.log("Start Initial phase")
25
//tip, require relative path works based on where the current execution is
36
console.log("file is " + __filename)
4-
require ("./098-moduleC.js")
7+
require ("./a.js")
58
const f = 100;
69
if (f == 110)
710
{
811
//this won't execute unless
912
//condition is met
10-
console.log("Before requiring module A")
11-
require ("./099-moduleA.js")
12-
console.log("After requiring module A")
13+
console.log("Before requiring module B")
14+
require ("./b.js")
15+
console.log("After requiring module B")
1316
}
1417

1518
const fs = require('fs');
1619

1720
fs.readFile(__filename, () => {
1821
console.log("Before requiring module D")
19-
require ("./096-moduleD.js")
22+
require ("./d.mjs")
2023
console.log("After requiring module D")
2124

2225
});

09-importvsrequire/091-import.js

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,28 @@
11
console.log("Start Initial phase")
2-
const fs = require('fs');
3-
import ("./099-moduleA.js")
2+
3+
import ("./a.js")
44
function loadModule() {
55
console.log("before importing module B")
6-
import ("./097-moduleB.mjs")
6+
const x = import ("./b.mjs")
7+
console.log(x)
78
console.log("after importing module B")
89
}
10+
11+
912
console.log("Before calling B")
1013
loadModule();
1114
console.log("After calling B")
1215

1316
setTimeout( ()=>console.log("timer"),0)
1417

15-
fs.readFile(__filename, () => {
16-
console.log("read file done")
17-
setImmediate(() => console.log('immediate'));
18-
});
18+
const fs = import ('fs');
19+
20+
fs.then (fs => {
21+
fs.readFile("a.mjs", () => {
22+
console.log("read file done")
23+
setImmediate(() => console.log('immediate'));
24+
});
25+
})
26+
1927
console.log("End initial phase ")
2028

09-importvsrequire/092-async-await-import.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
console.log("Start Initial phase")
22
const fs = require('fs');
3-
import ("./099-moduleA.js")
3+
import ("./a.js")
44
async function loadModule() {
55
console.log("before importing module B")
6-
await import ("./097-moduleB.mjs")
6+
await import ("./b.mjs")
77
console.log("after importing module B") //this will be executed last
88
}
99
console.log("Before calling B")
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
console.log("start")
2+
//returns a promise
3+
if (1==2) {
4+
const a = import ("./a.js")
5+
console.log(a)
6+
}
7+
8+
setTimeout( ()=> console.log("timer"),0);
9+
//resolves the promise and get x (returns a module)
10+
const b = await import ("./b.mjs")//true intial phase..
11+
console.log(JSON.stringify(b))
12+
//resolves the promise ( like await)
13+
//but returns the value
14+
import c from "./c.mjs"
15+
console.log(JSON.stringify(c))
16+
process.nextTick(()=>console.log("Initial phase end."))
17+
18+
/*
19+
if (1=2 ) {
20+
21+
22+
23+
import xx from "./c.mjs"
24+
console.log(xx)
25+
}*/
26+
27+
console.log("end")

09-importvsrequire/096-moduleD.js

Lines changed: 0 additions & 3 deletions
This file was deleted.

09-importvsrequire/097-moduleB.mjs

Lines changed: 0 additions & 6 deletions
This file was deleted.

09-importvsrequire/098-moduleC.js

Lines changed: 0 additions & 4 deletions
This file was deleted.

09-importvsrequire/099-moduleA.js

Lines changed: 0 additions & 3 deletions
This file was deleted.

09-importvsrequire/a.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
console.log("--Begin module a")
2+
for (let i= 0; i < 100000000; i ++);
3+
console.log("--End Module a")
4+
5+
const test = {"test":"testa"}
6+
export default test;

09-importvsrequire/b.mjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
console.log("--Begin module b")
2+
for (let i= 0; i < 100000000; i ++);
3+
console.log("--End Module b")
4+
5+
const test = {"test":"testb"}
6+
export default test;

09-importvsrequire/c.mjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
console.log("--Begin module c")
2+
for (let i= 0; i < 100000000; i ++);
3+
console.log("--End Module c")
4+
5+
const test = {"test":"testc"}
6+
export default test;

09-importvsrequire/d.mjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
console.log("--Begin module d")
2+
for (let i= 0; i < 100000000; i ++);
3+
console.log("--End Module d")
4+
5+
const test = {"test":"testd"}
6+
export default test;

10-its-all-callbacks/100-promise.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
1+
2+
13
console.log("Start Initial phase")
24
function promiseWork () {
5+
console.log("before new promise")
36
return new Promise( (resolve, reject) => {
4-
setTimeout(() => {
7+
console.log("before new promise")
8+
// setTimeout(() => {
59
//done work
610
console.log("--Processing...");
711
const output = "done!"
812
//resolve
913
resolve(output)
10-
}, 4000)
14+
//}, 4000)
1115
} )
1216
}
1317
console.log("Before running")
1418
const x = promiseWork();
19+
console.log(x)
1520
console.log("After running")
1621

17-
x.then(a => console.log("resolved " + a))
22+
x.then(a => console.log("resolved " + a)).catch(a=>console.err)
1823
console.log("End Initial phase")
1924
setTimeout( () => console.log("timer"), 0);

0 commit comments

Comments
 (0)