2017-08-17 68 views
1

下面是我的代码 -如何导出异步函数?

abc.js

class abc { 
    async foo1() { 
    // do something 
    return result; 
    } 
    async foo2() { 
    // do something 
    return result; 
    } 
    module.exports = abc 
} 

另一-file.js

const abc = requir(./abc); 
abc.foo1(); 
// this results in error 
// TypeError : abc.foo1 is not a function 

我应该怎么办呢?

+0

'abc'是一类。你需要一个实例。这与async无关。 – SLaks

回答

0

几点。按照惯例,类名以大写字母开头。你的问题与异步函数无关。你有2个选择来解决这个问题。第一个选项是让你的功能是静态的。那么你可以直接使用它,无需实例。第二种选择只是以不同的方式调用它:首先实例化类以获取实例,然后在此实例上调用您的方法。 还要记住,await关键字只能在其他异步函数中使用。如果要处理承诺,则需要等待关键字,由异步函数返回(它返回的承诺为result,而不是result