2017-08-17 66 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