当前位置: 首页 > 知识库问答 >
问题:

如何从promise[duplicate]获取JSON

宰父深
2023-03-14

代码:

fetch(`https://api.flickr.com/services/rest/?&method=flickr.photos.search&api_key=++++++++++&tags=obama&format=json&extras=url_m&nojsoncallback=true`, {
    method: "GET",
    headers : { 
      'Content-Type': 'application/json',
      'Accept': 'application/json'
     }
  }).then(response => {
    console.log(response.json())
  })

输出:

Promise {_40: 0, _65: 0, _55: null, _72: null}

共有2个答案

薛飞星
2023-03-14

您可以等待回复:

fetch(url, options).then(async (response) => {
  const data = await response.json();
  console.log(data)
})
应翰飞
2023-03-14

添加另一个,然后:

fetch(...).then(resp => resp.json()).then(data => ...)

请注意,fetch只会在网络错误上出错,如果您希望它拒绝promise,例如500响应,您必须检查状态代码并抛出:

fetch(url)
  .then(resp => {
     // you'll need to supply the function that checks the status here
     if (http_response_ok(resp.status)) {
       return resp.json();
     } else {
       throw new Error(`Got back ${resp.status}`);
     }
  }).then(data => {
     // happy path
  }).catch(err => {
     // sad path
  });
 类似资料:
  • 如何用Java解析JSON文件中的数据?

  • 我在react JS应用程序上调用API: 然后输出日志: 如何获取数组上的数据? 我需要城市名单

  • 例如,我重定向在我的水疗localhost:3000/ProductPage/014我如何采取'014'值我的反应变量?

  • 假设我有整数0到100的数据帧。我想把这些值分为3部分,低、中、高,低小于33,高大于66,中介于33和66之间。所以我用 我得到了一个错误 我已经尝试过if-else语句和以及其他操作符。低和高起作用,但中间不起作用。 请问我能知道附近的路吗?

  • 第一次插入将插入一个具有增量id的新行。我需要获取该增量id并在使用该增量id,例如,如果它是,我将进行以下插入。 如何自动获取第一次插入的id,以便在第一次查询后动态生成第二次插入?

  • 我有一个hashmap,看起来像这样: 我的ImageRecipeMap对象如下所示: 我想获取所有ImageID列表,并使用Java8流创建一个总的ImageID列表。到目前为止,这就是我所拥有的,但我的collect上似乎有一个编译错误: