当前位置:  开发笔记 > 编程语言 > 正文

如何在Javascript中使用异步等待函数对象?

如何解决《如何在Javascript中使用异步等待函数对象?》经验,为你挑选了2个好方法。

说我有一个功能对象 -

setObj : function(a,b){
    obj.a = a;
    obj.b = b;
}

如果我必须在此函数对象上使用async&await,我该怎么做?

如果在功能(功能方式)中写入相同的内容,请说 -

async function setObj(a,b){
    obj.a = a;
    obj.b = b;
}

await setObj(2,3);

这很好用.但是,如果是函数对象,我该怎么办呢?



1> Ben March..:

如果我理解你的问题,你可以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();


在你的Gist中看到我的评论,你使用的是"await"关键字错误,它必须在异步函数中.

2> Hans..:

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);
})();

请注意,整个代码都包含在异步自调用函数中.这是必需的,否则await setObj将无法正常运行.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有