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");

            },

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

相关代码

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

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

阅读 1.5k
评论
    2 个回答
    • 4.6k

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

      相似问题
      推荐文章