I have to execute an ansync function before execute an express server, because I'm going to get a aparameter to pass it to the API. So I guess I can call the async funcion and on the promise I will get, call my express server (until now I have exectued it with "node my_server.js") How can I do that? How can I call my_server.js on my new js ?
Asked
Active
Viewed 69 times
0
-
I suppose you could start your server inside the async function promise `then`? – Gabriel Costa Mar 08 '19 at 12:17
-
Possibly resolved here: https://stackoverflow.com/questions/18862214/start-another-node-application-using-node-js – Bear Mar 08 '19 at 12:17
2 Answers
0
You can fork
a new process using the child_process
module in node.
const { fork } = require('child_process')
const path = require('path')
const newProcess = fork(path.join(__dirname, 'path/to/jsfile'), [...otherArgs])

Prithwee Das
- 4,628
- 2
- 16
- 28
0
Usually the server does not get created while merely running node server.js
. It will just execute javascript contained in server.js
. The server will be created when your code reaches express()
if you are creating server via express or createServer
from plain nodejs.
That means you can probably do
var param = await someSync();
// Set the param in global context and then create your server
var app = express();
// or
var app = createHttpServer()
So now before your app starts you will have that param and you can use it in your api
If you are using promise instead of async, just create your server in then
part of your promise, this will also make sure that your app will have that param before your server starts

Umair Abid
- 1,453
- 2
- 18
- 35
-
" create your server in then part of your promise" Yes, finally I did that , thx – J.F. Mar 08 '19 at 12:22