eslint Warning Неожиданная асинхронная функция без имени, в любом случае, чтобы избавиться от нее? - PullRequest
0 голосов
/ 19 декабря 2018

Когда я определил свою асинхронную функцию следующим образом:

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

Я получаю предупреждение об ошибке:

19:34  warning  Unexpected unnamed async function                          func-names

Это плохая запись?

спасибо за отзыв

**** обновление 1 **.согласно комментарию Ankit .. **.

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

устранение одного предупреждения, теперь получено предупреждение + 1 ошибка ...

update2 .нужно изменить порядок определения и использовать ... больше никаких предупреждений или ошибок ...

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

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

Ответы [ 3 ]

0 голосов
/ 19 декабря 2018

Именованный экспорт упрощает организацию вашего кода.

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

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

module.exports = {
  doSomething: doSomething,
  doSomethingElse: doSomethingElse
}
0 голосов
/ 19 декабря 2018

помечено правильно, с именованными функциями: определено, а затем экспортировано ...

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

module.exports.sendSmtpMessage = async function sendSmtpMessage(keys, mailOptions) {
  await sendMessage(keys, mailOptions);
};
0 голосов
/ 19 декабря 2018

Чтобы избавиться от этой ошибки, вы можете дать имя этой функции async, например:

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