react-select async不起作用

时间:2016-11-03 22:47:52

标签: javascript reactjs react-select

const formatData = ((els) => {
  console.log("ELS : ", els.data); /* Got Undefined */
  return _.each(els, (el) => ({
    label: el.first_name,
    value: el.id,
  }));
});


const fetchOptions = ((input, callback) => {
  return fetch("http://reqres.in/api/users")
    .then((res) => {
      callback(null,
        {
          options: formatData(res.json())
        }
      )
    }).then((json) => {
      return {options: json};
    });
});

根据此documentation,我尝试获取数据并将其设置为与loadOptions <Select.Async ... />属性所需的格式相匹配。正如我上面提到的,我为els.data获得了Undefined。谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:1)

res.json()是异步的。它返回一个Promise,因此请在下一个then处理。

const fetchOptions = ((input, callback) => {
  return fetch("http://reqres.in/api/users")
    .then((res) => {
      return res.json();
    }).then((json) => {
      // formatData(json);
    });
});