Rumah  >  Soal Jawab  >  teks badan

javascript - Soalan tentang susunan pelaksanaan contoh janji?

Baru-baru ini, kerana saya ingin membuat program kecil, saya pernah belajar di bahagian pelayan
Bahagian log masuk program kecil itu menjadi lebih rumit . Kemudian, saya menemui janji,
tetapi saya sedang mengerjakan janji

Saya kini merangkum proses log masuk ke dalam kaedah (loginFlow), yang secara berterusan kemudian, kemudian, kemudian, menangkap Tetapi saya mempunyai fungsi lain untuk mendapatkan senarai kandungan pengguna, jadi bagaimana saya harus membuat tindakan ini Bagaimana pula dengan melaksanakan selepas log masuk. ?

Perlukah saya menambah panggilan balik ke loginFlow?

Atau perlukah saya meletakkan lapisan janji di luar loginFlow?
Ia tidak selalunya terasa sangat indah
Saya masih baru dengan js dan janji pakar boleh guide saya.

Berikut ialah kodnya, loginFlow ialah jujukan log masuk berkapsul

ini._log masuk di dalam ialah wx.login berkapsul, yang mengembalikan janji
ini._http di dalam ialah wx.request dan mengembalikan janji

  loginFlow: function() {
    var that = this;

    this._login({}).then(function(res) {
      // 用 code 去获取 session
      let options = {
        url: that.globalData.apiDomain + '/mina/session',
        method: 'GET',
        data: {
          code: res.code
        }
      }
      return that._http(options);

    }).then(function(res) {
      // 把 session 放入 storage, 并且获取用户信息
      wx.setStorageSync('session', res.data.session);
      return this._getUserInfo({});

    }).then(function(resUser) {
      // 把用户信息上传
      let options = {
        url: that.globalData.apiDomain + '/mina/user/info',
        method: 'POST',
        data: resUser
      };
      return that._http(options);

    }).then(function(res) {
      // 上传信息结果成功
      if (res.statusCode == 200) {
          // 把用户信息保存到本地
          
      } else {
        // 程序逻辑返回了失败, 提示?
        return Promise.reject(new Error("程序逻辑错误, 保存用户信息失败"));
      }
      
    }).catch(function(err) {
      // 登录出错
      that._alert("登录出错");
    });
  },
伊谢尔伦伊谢尔伦2729 hari yang lalu885

membalas semua(1)saya akan balas

  • 怪我咯

    怪我咯2017-05-19 10:49:45

    Kaedah kemudian menerima dua parameter, anda boleh meletakkan pengendalian ralat terakhir bersama-sama dan kemudian mengembalikan contoh janji

    balas
    0
  • Batalbalas