As with any kind of app, there are difficult issues to solve when we write Node apps. In this article, we’ll look at some solutions to common problems that we might encounter when writing Node apps.
We can log output when page.evaluate
is run by listening to the console
event.
For instance, we can write:
const page = await browser.newPage();
page.on('console', consoleObj => console.log(consoleObj.text()));
We call browser.newPage
to create a new page object.
Then we listen to the console
event with it.
It takes a callback, which we can convert to text with the text
method.
We can run async functions with Mocha tests to test them.
For instance, we can write:
it('should do something', async function() {
this.timeout(40000);
const result = await someFunction();
assert.isBelow(result, 3);
});
We call this.timeout
to set the timeout before the test times out.
Then we use await
to run our async function, which returns a promise.
Finally, we get the result and use assert
to check it.
We can listen to events after a connection is established.
On the server-side, we can listen to the connection
event to see if a connection is established.
Once it is, then we emit an event to acknowledge the connection is made.
Likewise, we can do the same on the client-side.
For instance, in our server-side code, we write:
io.sockets.on('connection', (sock) => {
sock.emit('connected', {
connected: 'yes'
});
sock.on('message', (data, callback) => {
console.log('received', data);
const responseData = {
hello: 'world'
};
callback(responseData);
});
});
#programming #software-development #technology #web-development #javascript