收藏
回答

createUDP无法使用

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug createUDP 客户端 7.0.4 2.7.1

- 当前 Bug 的表现(可附上截图)

我的基础库版本是2.7.1,大于createUDP的最低版本要求2.7.0,但是结果还是走入了下述的else分支,打印出了bad use, version is 2.7.1的字样


if(wx.canIUse('createUDPSocket')) {

console.log('good use')

} else {

const version = wx.getSystemInfoSync().SDKVersion

console.log('bad use, version is ' + version)

}


- 预期表现

走入good use


- 复现路径


- 提供一个最简复现 Demo



//app.js

App({

onLaunch: function () {

// 展示本地存储能力

var logs = wx.getStorageSync('logs') || []

logs.unshift(Date.now())

wx.setStorageSync('logs', logs)


// 登录

wx.login({

success: res => {

// 发送 res.code 到后台换取 openId, sessionKey, unionId

}

})


if(wx.canIUse('createUDPSocket')) {

console.log('good use')

} else {

const version = wx.getSystemInfoSync().SDKVersion

console.log('bad use, version is ' + version)

}



// 获取用户信息

wx.getSetting({

success: res => {

if (res.authSetting['scope.userInfo']) {

// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框

wx.getUserInfo({

success: res => {

// 可以将 res 发送给后台解码出 unionId

this.globalData.userInfo = res.userInfo


// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回

// 所以此处加入 callback 以防止这种情况

if (this.userInfoReadyCallback) {

this.userInfoReadyCallback(res)

}

}

})

}

}

})

},

globalData: {

userInfo: null

}

})


回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    2019-06-17

    应该是canIUse的数据没有及时更新,我们尽快修复

    暂时可以使用 if (typeof wx.createUDPSocket=== 'function') 来判断

    2019-06-17
    有用
    回复 12
    • 行者
      行者
      2019-06-17

      感谢!我试了一下是可以解决上述问题,不过又来了新的问题,我代码如下,

      if (typeof wx.createUDPSocket === 'function') {

      const udp = wx.createUDPSocket()

      udp.bind()

      console.log(' in loop!');

      }


      编译时报错如下:

      VM133:1 开发者工具暂不支持 wx.createUDPSocket

      console.warn @ VM133:1

      createUDPSocket @ WAService.js:1

      (anonymous) @ WAService.js:1

      (anonymous) @ WAService.js:1

      (anonymous) @ WAService.js:1

      onLaunch @ app.js? [sm]:17

      (anonymous) @ WAService.js:1

      (anonymous) @ WAService.js:1

      he @ WAService.js:1

      (anonymous) @ WAService.js:1

      (anonymous) @ WAService.js:1

      (anonymous) @ app.js? [sm]:2

      require @ WAService.js:1

      (anonymous) @ VM147:1

      scriptLoaded @ appservice?t=1560749666620:1131

      script.onload @ appservice?t=1560749666620:1143

      VM133:1 thirdScriptError

      Cannot read property 'bind' of null;at App lifeCycleMethod onLaunch function

      TypeError: Cannot read property 'bind' of null

          at he.onLaunch (http://127.0.0.1:49069/appservice/app.js:22:10)

          at he.(http://127.0.0.1:49069/appservice/__dev__/WAService.js:1:1045736)

          at 



      我的工具的版本号是:

      当前已是最新版本(1.02.1904090)


      2019-06-17
      回复
    • 社区技术运营专员-灵芝
      社区技术运营专员-灵芝
      2019-06-17回复行者

      这个提示很明显了哦,用真机调试看看

      2019-06-17
      回复
    • 行者
      行者
      2019-06-17回复社区技术运营专员-灵芝


      2019-06-17
      回复
    • 行者
      行者
      2019-06-17回复社区技术运营专员-灵芝

      一点击真机调试,就出现上述问题,麻烦帮忙看看

      2019-06-17
      1
      回复
    • 社区技术运营专员-灵芝
      社区技术运营专员-灵芝
      2019-06-18回复行者

      检查一下这个


      2019-06-18
      回复
    查看更多(7)
登录 后发表内容