boz*_*mob 8 javascript async-await babeljs ecmascript-next
说我有一个功能对象 -
setObj : function(a,b){
obj.a = a;
obj.b = b;
}
Run Code Online (Sandbox Code Playgroud)
如果我必须在此函数对象上使用async&await,我该怎么做?
如果在功能(功能方式)中写入相同的内容,请说 -
async function setObj(a,b){
obj.a = a;
obj.b = b;
}
await setObj(2,3);
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,如果是函数对象,我该怎么办呢?
Ben*_*rch 11
如果我理解你的问题,你可以async在方法声明前面使用关键字:
let obj = {};
let myObj = {
async setObj(a,b) {
obj.a = a;
obj.b = b;
}
}
Run Code Online (Sandbox Code Playgroud)
见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();
Run Code Online (Sandbox Code Playgroud)
async在对象的属性中使用相同的关键字:
(async function () {
var obj = {};
console.log("hello");
let setObj = async function (a,b){
obj.a = a;
obj.b = b;
};
await setObj(2,3);
console.log(obj.a+obj.b);
})();
Run Code Online (Sandbox Code Playgroud)
请注意,整个代码都包含在异步自调用函数中.这是必需的,否则await setObj将无法正常运行.
| 归档时间: |
|
| 查看次数: |
11628 次 |
| 最近记录: |