vue3+ts+echarts x轴文字显示[object Promise]

option内部设置代码:

{
  //...
  xAxis:{
    axisLabel:{
      formatter:(params: any)=>{
        return datawrap(params)
      }
    }
  },
  //....
}
export asyns datawrap(params: any)=>{
  if(params.length>16)return params.substr(0,16)+'...'
  return params
}

效果是:
image.png
换一种一写法:

export asyns datawrap(params: any)=>{
  if(params.length>16)return Promise.resolve(params.substr(0,16)+'...')
  return Promise.resolve(params)
}
axisLabel:{
  formatter:(params: any)=>{
    return datawrap(params).then((res: any)=>{
      return res
    })
  }
}
实现效果还是[object Promise]
阅读 2.9k
1 个回答
✓ 已被采纳新手上路,请多包涵

其实试了很多方法,问题总是出在引用外部方法,返回值永远都是一个promise对象,所以干脆,再用echarts时,内部option各项设置就不用外部方法了,直接在内部写,当然很不甘,没有找到对应的解决方案,希望有人能够补充解决方案吧
咳咳,看过来
因为async导致返回参数是个promise对象,把async取消掉就解决了,就正常返回值了
emmmm,这波属于什么,async的概念没搞明白啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题