eslint Warning Unexpected unnamed async function , anyway to get rid if it?

Viewed 3671

When I defined my async function as :

module.exports.sendSmtpMessage = async function(keys, mailOptions) {  // <== warning
    await sendSmtpMessage(keys, mailOptions);
}

var sendSmtpMessage = async function(keys, mailOptions) {
...
}

update2

var sendMessage = async function sendMessage(keys, mailOptions) {
...
}

module.exports.sendSmtpMessage = async function sendSmtpMessage(keys, mailOptions) {
    await sendMessage(keys, mailOptions);
}

I get an eslint warning :

19:34  warning  Unexpected unnamed async function                          func-names

Is it a bad writing ?

thanks for feedback

****update 1**. as per Ankit's comment..**.

module.exports.sendSmtpMessage = async function sendSmtpMessage(keys, mailOptions) {  // <== warning
    await sendSmtpMessage(keys, mailOptions);
}

var sendSmtpMessage = async function(keys, mailOptions) { // <== warning and error !
...
}

23:7   error    'sendSmtpMessage' is assigned a value but never used  no-unused-vars
23:25  warning  Unexpected unnamed async function

solving one warning, now getting a warning + 1 error...

update2. need to change the order of definition and use ... no more warnings or error ...

var sendMessage = async function sendMessage(keys, mailOptions) {
...
}

module.exports.sendSmtpMessage = async function sendSmtpMessage(keys, mailOptions) {
    await sendMessage(keys, mailOptions);
}
3 Answers

To get rid of that error, you can give a name to that async function like:

var sendSmtpMessage = async function sendSmtpMessage(keys, mailOptions)

Having named exports makes it easy organize your code.

const doSomething = async function(args) {
  // ...
}

const doSomethingElse = async function() {
    await doSomething(args);
}

module.exports = {
  doSomething: doSomething,
  doSomethingElse: doSomethingElse
}

linted correctly, with named functions : defined then exported ...

const sendMessage = async function sendMessage(keys, mailOptions) {
    ....
};

module.exports.sendSmtpMessage = async function sendSmtpMessage(keys, mailOptions) {
  await sendMessage(keys, mailOptions);
};
Related