收藏
回答

wx.uploadfile返回的文件路径在另外一个方法却调用不到?

formSubmit(e) {
    this.setData({
      modalName: null,
      islogin: true,
      nickName: e.detail.value.nickname,
      getUseInfo: true
    })
    const that = this
    wx.uploadFile({
      filePath: this.data.avatarUrl,
      header: {
        'content-type': 'application/x-www-form-urlencoded'
      },
      name: 'file',
      url: app.util.url() + 'c=entry&a=wxapp&do=ImgPost&m=gc_market',
      success: (result) => {
        var data = result.data
        data = JSON.parse(data).data
        that.setData({
          imgurl: data
        })
        console.log(that.data.imgurl)


      }


    })
    console.log("方法外获取imgurl",this.data.imgurl)   //这里无法获取
    var self = this;
    wx.login({
      success: function (data) {
        data.code && app.util.request({
          url: "entry/wxapp/GetUid",
          data: {
            code: data.code
          },
          success: function (data) {
            console.log("用户openid", data.data.data.userinfo.openid)
            self.setData({
              getUseInfo: false,
              openid: data.data.data.userinfo.openid,


            });


            console.log("缓存里的图片路径", this.data.imgurl)
            app.util.request({
              url: "entry/wxapp/UserInfoUpdate",
              data: {
                openid: data.data.data.userinfo.openid,
                nickname: e.detail.value.nickname,
                avatar: this.data.imgurl
              },
              success: function (data) {
                console.log("保存用户信息进入数据库", data);
              }
            });


wx.uploadfile返回的文件路径在方法内可以打印,在方法外就无法打印了,是变量赋值不正确嘛? 图片已经上传到服务器了,方法内也可以返回文件路径

最后一次编辑于  2023-11-10
回答关注问题邀请回答
收藏

4 个回答

  • 红薯
    红薯
    2023-11-10

    可以用miniprogram-api-promise这个npm包来解决异步请求

    2023-11-10
    有用
    回复
  • 大山
    大山
    2023-11-10

    异步请求导致这个打印日志获取参数比上传执行要快,可以在上传后的 success 追加个打印日志就明白了。

    2023-11-10
    有用
    回复
  • showms
    showms
    2023-11-10

    js异步了解一下

    2023-11-10
    有用
    回复
  • Jianbo
    Jianbo
    发表于小程序端
    2023-11-10

    应该和异步方法有关。

    2023-11-10
    有用
    回复
登录 后发表内容