未定义的Javascript不是对象异步/等待问题

时间:2019-01-22 00:34:06

标签: javascript reactjs api react-native async.js

我一般对React Native,JS和编码都比较了解。我在代码中抛出以下错误,但是我在这里提出这个问题,因为我认为这是我所理解的更大的证据。对于我的问题的特定解决方法将不胜感激,但是高级别的解释将对社区更加有用和有益。

注意:我从程序员那里购买了此应用程序的API功能,并使其正常工作。我不完全了解异步并等待,并认为这可能就是我遇到问题的原因。当我注释掉findCriteria()函数时,一切运行顺利,并且我发布了推文;但是,当留在程序中时,会出现以下错误:

Possible Unhandled Promise Rejection (id:0): 
TypeError: undefined is not an object (evaluating 'parsedArray.reduce')

我的代码如下:

async componentDidMount()


{    
    let twitterRest = new TwitterRest(); //create a new instance of TwitterRest Class   
    let twitts = await twitterRest.pullTimeLine('google'); //pull the Google TimeLine

function findCriteria(array, type){

  parseArray = (array, type) => {array.map((tweet) => {
    return tweet[type];
  })};
  let parsedArray = parseArray(array, type);

  findAvg = (parsedArray, array) => {parsedArray.reduce((totalV,currentV) => {
    return totalV + currentV;
  }, 0)/array.length};
  let avg = findAvg(parsedArray, array);

  findDiffs = (parsedArray, avg) => {parsedArray.map((index) => {
    return avg-index;
  })};
  let diffs = findDiffs(parsedArray, avg);

  findCriteria = (diffs, array, avg) => {(diffs.reduce((totalV,currentV) => {
    return totalV + currentV;
  }, 0)/array.length) + avg};
  let solution = findCriteria(diffs, array, avg);

  return solution;
};

let rtCriteria = findCriteria(twitts, "retweet_count");
this.setState({rtCriteria: rtCriteria});

我正在尝试找到标准偏差fyi。

非常感谢。

0 个答案:

没有答案