看到一段代码这样写的,请帮忙解答一下要这样写?

return new Promise((resolve, reject) => {

        getInfo(state.token).then(response => {

          const data = response.data;

          commit('SET_ROLES', data.role);

          commit('SET_NAME', data.name);

          commit('SET_AVATAR', data.avatar);

          commit('SET_INTRODUCTION', data.introduction);

          resolve(response);

        }).catch(error => {

          reject(error);

        });

      });

其中getinfo()这个函数是请求数据的方法(axios), 这个getinfo()已经是支持Promise了,为什么还要在外面套一个Promise。这样写可以吗?


 getInfo(state.token).then(response => {

          const data = response.data;

          commit('SET_ROLES', data.role);

          commit('SET_NAME', data.name);

          commit('SET_AVATAR', data.avatar);

          commit('SET_INTRODUCTION', data.introduction);

        }).catch(error => {

        });


慕盖茨4494581
浏览 372回答 1
1回答

胡子哥哥

你这样写没问题的,之所以在套一层,是因为他想再执行一个回调function doPromise(){    return new Promise((resolve, reject) =>{        getInfo().then(...)....    })}doPromise().then(...)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript