如何从React JS中的Promise对象检索数据

时间:2018-12-11 11:11:41

标签: reactjs ecmascript-6 es6-promise

我正在尝试从API获取数据。但是获取结果作为promise对象返回。我想从这个承诺中返回内容以调用react动作。

let loginData = fetch(loginURL, { method : 'POST', headers : headerParams, 
 body: bodyParams })
  .then((response) => response.json())
  .then(data => {
    return data['retrieve-agent'];
});
console.log('loginData ===>', loginData.agent);
return {
  type: 'GET_AGENT_DETAILS',
  payload: loginData
}

enter image description here

1 个答案:

答案 0 :(得分:3)

使用async-await来获得结果而不使用promise,否则您将需要从函数中解析promise

async fetchFunction() {

    let loginData = await fetch(loginURL, { method : 'POST', headers : headerParams, 
     body: bodyParams })
      .then((response) => response.json())
      .then(data => {
        return data['retrieve-agent'];
    });
    console.log('loginData ===>', loginData.agent);
    return {
      type: 'GET_AGENT_DETAILS',
      payload: loginData
    }

}