如何从 get.JSON 转换为获取

How to convert from get.JSON to fetch

我在 get.JSON 上工作正常,但是当我尝试使用 fetch API 时,它给了我错误 "Required parameter: part".

export const fetchYoutube = () => {
  return dispatch => {
    fetchAsync()
    .then(data => console.log(data))
    .catch(reason => console.log(reason.message))

    dispatch({
      type: INCREMENT
    })
  }
}
async function fetchAsync () {
  var query = {
        part: 'snippet',
        key: 'AIzaSyA3IHL73MF00WFjgxdwzg57nI1CwW4dybQ',
        maxResults: 6,
        type: 'video',
        q: 'music'
    }
  let response = await fetch('https://www.googleapis.com/youtube/v3/search', {
    data : query,
    method: 'GET'
  });
  let data = await response.json();
  return data;
}

如何使用 fetch API 传递查询对象?

尝试将查询附加为参数:

替换:

let response = await fetch('https://www.googleapis.com/youtube/v3/search', {
  data : query,
  method: 'GET'
});

与:

var url = new URL("https://www.googleapis.com/youtube/v3/search"),
    query = {
        part: 'snippet',
        key: '#####################################',
        maxResults: 6,
        type: 'video',
        q: 'music'
    }
    Object.keys(query).forEach(key => url.searchParams.append(key, query[key]))

let response = await fetch(url)