user762579
user762579

Reputation:

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

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);
}

Upvotes: 4

Views: 5077

Answers (3)

user762579
user762579

Reputation:

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);
};

Upvotes: 0

Dinesh Pandiyan
Dinesh Pandiyan

Reputation: 6289

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
}

Upvotes: 2

Ankit Agarwal
Ankit Agarwal

Reputation: 30739

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

var sendSmtpMessage = async function sendSmtpMessage(keys, mailOptions)

Upvotes: 2

Related Questions