vue取多个数据然后合并的问题

我是分发两个fetch函数去不同地方拿数据
然后我现在想要将两个结果数据做一些合并 然后放到一个table里去
也就是两个action的函数做完一起mutation,这样可行吗
请问该怎么写呀

const actions = {

      getLatestJob(context){
         const result=api.getJobJson(context);
         result.then(function (res) {
        console.log("----------------------JSON QUERY NBU JOB:  res.status:"+res.status);
      if(res.status === 200){
        return res.json()
      }
    }).then(function (json) {

      console.log(typeof Array.from(json), Array.from(json));
      context.commit('setJson', json);
    })

      },

      getLatestJobFromShield(context){
         const result=api.getJobJsonFromShield(context);
         result.then(function (res) {
        console.log("----------------------JSON QUERY Shield JOB:  res.status:"+res.status);
      if(res.status === 200){
        return res.json()
      }
    }).then(function (json) {

      console.log(typeof Array.from(json), Array.from(json));
      //context.commit('setJson', json);
    })
      }

};

//mutation  官方推荐的修改状态的方式
const mutations = {

    setJson(state,db){

然后vue里面

 getJson(){

                this.$store.dispatch("getLatestJob");
                this.$store.dispatch("getLatestJobFromShield");

            },

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 5.6k
2 个回答

两个方法算出的结果传入一个vuex中的函数,在函数中根据两个传参算出结果即可

方案一:用Promise.all(),等待两个异步都返回结果后合并
方案二:用async await语法糖按顺序执行异步操作

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