0

我想使用从获取请求中获得的数据,因此我将其作为数组返回。返回值(数组)将用于另一个函数,但我得到一个承诺:

Promise {<pending>}
__proto__: Promise
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: Array(10)

下面是完整的代码

function getEmailList() {
  fetch(myData.root_url + '/wp-json/wp/v2/email', {
    method: "GET",
    headers: {
      'Content-Type': 'application/json'
    }
  }).then(response => {
    return response.json();
  }).then(emails => {
    emails.map((email) => {
      emailArr.push(email.title.rendered)
    })
    return emailArr;
  }).catch(err => console.log('failed', err))
}

function getData() {
  let emailList = getEmailList();
  console.log(emailList)
}
4

3 回答 3

0

使用异步等待

function async getData() {
  let emailList = await getEmailList();
  console.log(emailList)
}
于 2020-10-13T02:01:15.407 回答
0

您的呼叫代码可以是

function getData() {
  getEmailList().then(emailList => console.log(emailList));  
}
于 2020-10-13T02:05:58.567 回答
0

您需要返回fetchingetEmailList()并使用async/awaitin getData()

function getEmailList() {
  return fetch(myData.root_url + '/wp-json/wp/v2/email', {
    method: "GET",
    headers: {
      'Content-Type': 'application/json'
    }
  }).then(response => {
    return response.json();
  }).then(emails => {
    emails.map((email) => {
      emailArr.push(email.title.rendered)
    })
    return emailArr;
  }).catch(err => console.log('failed', err))
}

async function getData() {
  let emailList = await getEmailList();
  console.log(emailList)
}
于 2020-10-13T02:07:16.890 回答