代码之家  ›  专栏  ›  技术社区  ›  Salman Ghumsani

如何从promise[duplicate]获取JSON

  •  0
  • Salman Ghumsani  · 技术社区  · 6 年前

    代码:

    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 回复  |  直到 6 年前
        1
  •  0
  •   BigPun86    6 年前

    您可以等待答复:

    fetch(url, options).then(async (response) => {
      const data = await response.json();
      console.log(data)
    })
    
        2
  •  2
  •   Jared Smith    6 年前

    然后再添加一个:

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

    请注意 fetch

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