【问题标题】:How can I return something from the inside of this function (Javascript)?我怎样才能从这个函数内部返回一些东西(Javascript)?
【发布时间】:2021-09-09 00:05:51
【问题描述】:

我有这段代码,它位于另一个函数调用的函数内。现在我不知道如何将结果返回给第二个函数。

(async () => {
        try {
            const response = await axios.get(knockoutCityURL);
            console.log(response.data["1301210"].data.price_overview);
        } catch (error) {
            console.log(error.response.body);
        }
    })();

如果你能帮助我,我会很高兴。

【问题讨论】:

标签: javascript json async-await callback axios


【解决方案1】:

移除 IIFE,只从一个简单的函数返回 Axios 承诺,然后让你的第二个函数异步,并等待数据。

Here's a JSFiddle as async/await 在 sn-p 中不起作用)

function fn1() {

  // return axios.get(knockoutCityURL);
  return new Promise((res, rej) => {
    setTimeout(() => res('Hallo'), 2000);
  });
}

async function fn2() {
  const data = await fn1();
  console.log(data);
}

fn2();

【讨论】:

  • 非常感谢!
  • 如果函数是从 nedb 查询调用的,你是否也知道如何等待这个 promise?它看起来像这样:dbps.forEach((dbp) => { const URL = getUrlPriceSaleArray(dbp.gameName); if(dbp.users.length > 1) { lines.push(....); } else { lines.push(...); } }); fn2() 在这种情况下是 getUrlPriceSaleArray() ,它将从 fn1() 中返回承诺
  • 没有。你最好写一个新问题。对不起。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-02
  • 2011-01-31
  • 2012-11-22
  • 2019-08-24
  • 1970-01-01
相关资源
最近更新 更多