说我有一个功能对象 –
setObj : function(a,b){ obj.a = a; obj.b = b; }
如果我必须使用async&等待这个函数对象,我该怎么做?
async function setObj(a,b){ obj.a = a; obj.b = b; } await setObj(2,3);
这很好用.但是,如果是函数对象,我该怎么办呢?
解决方法
如果我正确理解您的问题,您可以在方法声明前使用async关键字:
let obj = {}; let myObj = { async setObj(a,b) { obj.a = a; obj.b = b; } }
见http://tc39.github.io/ecmascript-asyncawait/#async-methods
UPDATE
您不能在异步函数之外使用await.为了使用它,你必须将该调用包装到await setObj(2,3):
async function consoleLog() { await myObj.setObj(2,3); console.log(obj.a + obj.b); } consoleLog();