请大家帮忙接口请求后的执行问题?

我有个接口调用方法,
this.login()

我想等这个接口调用成功后,执行一些事情,但是这个登录方法 是封装起来的,很多地方都需要使用,所以不能直接在这个接口请求代码里面去写后面的代码逻辑,因为并不适合所有页面,

只能在具体页面调用的时候,等待它请求成功,才能继续执行后面的代码 类似这种写法,不知道具体如何写 比较合适

this.login().then(()=>{

'执行的事情'

})

怎么感觉有点不太方便,请问还有吗。。

阅读 1.7k
2 个回答

你这个直接使用混入吧,然后我看你这个写法异步转为同步执行,放在你要去做这件事里面不就好了吗,然后在then回调函数里面去执行相关的业务逻辑。

如果this.login返回的是一个promise对象

const login = async () => {
  await this.login()
  // '执行的事情'
}
  methods:{
    async login(){
      await this.login()
    }
  }

如果不是promise考虑加回调函数

  const login = (callBack) => {
    callBack && callBack();
  };

  const callBack = () => {
    // '执行的事情'
  };

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