是否可以将响应数据从“提取”保存到变量中以供以后使用?

时间:2019-03-24 23:02:49

标签: javascript fetch

使用Fetch API,我向返回对象的API端点发出了GET请求。 我想保存该对象以供以后在Fetch之外使用,但看来当我这样做时,已初始化的变量会返回undefined

我已经在抓取之前初始化了一个变量,该变量设置为等于.then调用中的响应数据:

const getObject = (convoId) => {
  let url = base_url + `/${convoId}`
  let convo;    //<-- initializing the variable

  fetch(url, { method: "GET", headers })
  .then(response => response.json())
  .then(data => convo = data)
  .then(() => console.log(convo)) //<-- successfully logs the data
  .catch(err => {
    console.error(err);
  });

  console.log(convo);     //<-- logs undefined
};

因为我在获取之前初始化了convo并从响应中为其分配了数据对象的值,所以我希望会分配convo,尤其是因为在{中记录了convo {1}}呼叫成功。

但是它似乎仅在提取内部有效。我可能忽略了一些小问题,因此非常欢迎您提供任何有用的反馈!

0 个答案:

没有答案