“等待”不适用于导入的异步功能(email-deep-validator)

时间:2019-08-04 10:08:42

标签: node.js async-await requirejs

我正在尝试按照示例使用'email-deep-validator'npm软件包(https://www.npmjs.com/package/email-deep-validator):

const EmailValidator = require('email-deep-validator');
const emailValidator = new EmailValidator();
const { wellFormed, validDomain, validMailbox } = await emailValidator.verify('myEmail@myDomain.com');

但是Node返回此错误: SyntaxError:await仅在异步函数中有效

我已经检查了此程序包的代码,该 verify 函数的定义类似于 Async https://github.com/getconversio/email-deep-validator/blob/master/lib/index.js),我尝试使用服务器版本的Node(9.2.0、10.16.1、12.7.0)执行代码。

我会很感激的。谢谢。

3 个答案:

答案 0 :(得分:0)

您只能在await函数中使用async

const EmailValidator = require('email-deep-validator');
const emailValidator = new EmailValidator();

// top level async function
(async () => {
  const { wellFormed, validDomain, validMailbox } = await emailValidator.verify('myEmail@myDomain.com');
})()

答案 1 :(得分:0)

您只能在异步功能中使用await,错误消息非常清楚。

示例:

In [2]: is_long = pd.Series(b)
        is_long
Out [2]: 0   True 
         1   False
         2   True
         3   True
         4 ...

In [3]: data[is_long]
Out [3]: Source Target
           A      B
           B      C
           C      D
           C      Z
           A      Z
           Z      Y

答案 2 :(得分:0)

非常感谢您的帮助。这个和其他答案正常工作:

@Rashomon

您只能在异步功能中使用await,错误消息非常清楚。

示例:

const EmailValidator = require('email-deep-validator');
const emailValidator = new EmailValidator();

async function main() {
  const { wellFormed, validDomain, validMailbox } = await emailValidator.verify('myEmail@myDomain.com');
  // ...rest of your code
}

main()