【问题标题】:Getting data out of object variable [duplicate]从对象变量中获取数据[重复]
【发布时间】:2021-05-02 10:14:07
【问题描述】:

当我执行这个函数时

const stronaDyskusji = "Some_mediawiki_discussion_page_name";

async function sekcje() {
    var zwrot;
    const params = {
        action: "parse",
        page: stronaDyskusji,
        prop: "sections",
    };
    const api = new mw.Api();

    await api.get(params).done((data) => {
        zwrot = data.parse["sections"];
    });
    return zwrot;
}


var PIT = sekcje()
console.log(PIT)

控制台记录this kind of object。 有什么方法可以让这个数组脱离这个[[PromiseResoult]]: 到其他变量?

【问题讨论】:

  • async 函数总是返回一个承诺。您可以根据该承诺致电 .then(...) 或使用 await 来“获取数据”。
  • 这能回答你的问题吗? get data from async function
  • @FelixKling 我在变量 PIT 中有这个数据,所以你建议我在这个变量上使用 .then(...)
  • @FelixKling 第二种方法有效,谢谢您的关注

标签: javascript asynchronous promise async-await mediawiki-api


【解决方案1】:

异步函数返回承诺。如果你想直接访问结果,你需要使用 await(当你调用 sekcje 函数时)或者在返回的 Promise 上使用“then”回调。

const PIT = await sekcje();
console.log(PIT);

但要让 await 工作,您需要将它放在异步函数中。

【讨论】:

  • 这是我一直在寻找的东西,这个 sn-p 在整个长异步函数中,所以它工作得很好。
猜你喜欢
  • 2013-04-09
  • 2013-04-19
  • 2012-12-23
  • 1970-01-01
  • 2023-01-22
  • 2011-09-08
  • 2021-12-01
  • 2017-09-03
  • 2021-12-31
相关资源
最近更新 更多