Javascript 未处理的PromisejectionWarning:TypeError:无法读取属性';forEach&x27;未定义的

Javascript 未处理的PromisejectionWarning:TypeError:无法读取属性';forEach&x27;未定义的,javascript,foreach,Javascript,Foreach,我的代码: export const convertToTickerObject = (data) => { const keys = [ 'id', 'last', 'lowestAsk', 'highestBid', 'percentChange', 'baseVolume', 'quoteVolume', 'isFrozen', 'high24hr', 'low24hr' ]; const

我的代码:


export const convertToTickerObject = (data) => {
  const keys = [
    'id',
    'last',
    'lowestAsk',
    'highestBid',
    'percentChange',
    'baseVolume',
    'quoteVolume',
    'isFrozen',
    'high24hr',
    'low24hr'
  ];

  const object = {};
  data.forEach((value, i) => {
    if (i === 0) {
      object.name = getCurrencyPairId(value);
      return; //escape arrow function
    }
    const key = keys[i];
    object[key] = value;
  });

  return object;
};
错误:

未处理的PromisejectionWarning:TypeError:无法读取未定义的属性“forEach” 未处理的PromisejectionWarning:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺。(拒绝id:1) (节点:7188)[DEP0018]弃用警告:未处理的承诺拒绝已弃用。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程

我尝试使用async/await,但此警告持续出现


如何解决此警告?:(

正如错误中所述,您传递的参数可能未定义或不是对象。请尝试以下操作:

const convertToTickerObject=(数据)=>{
if(数据类型!=='object'){
返回“非对象。参数类型:”+数据类型;
}
if(Object.keys(data.length==0&&data.constructor==Object){
返回'objectempty';
}
常量键=[
“id”,
"最后",,
“洛维斯塔斯克”,
“最高出价”,
“百分比变化”,
“基本卷”,
“Evolume”,
“我被冻结了”,
“高24小时”,
“低24小时”
];
常量对象={};
data.forEach((值,i)=>{
如果(i==0){
object.name=getCurrencyPairId(值);
return;//转义箭头函数
}
常数键=键[i];
对象[键]=值;
});
返回对象;
};