收藏
回答

app.js有办法调用某一个页面的方法吗?

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 5⃣️ 微信iOS客户端 最新 最新

为解决app.js获取openid的异步问题,我想到了Android中的Handle机制,如果可以在openid获取之后,主动给某一页面的某一方法就能完美解决

最后一次编辑于  2018-03-21  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

8 个回答

  • 这都申请了
    这都申请了
    2018-03-21

    我觉得还是某个页面调用app.js的方法比较靠谱

    2018-03-21
    赞同
    回复
  • 彬💤
    彬💤
    2018-03-22

    返回一个Promise不就好了

    2018-03-22
    赞同
    回复
  • 彬💤
    彬💤
    2018-03-29

    这样一点都不好  耦合性太强  app全局完全知道页面级方法  而且你还得固定第一页一定有这个方法

    为什么不封装getOpenID方法


    getOpenID判断全局是否获取过openid参数  有就返回带openid的Promise  没有就去请求并返回Promise


    这样好处是  你完全可以在任何页面调用这个全局api  而不是让全局去调用或者提示页面

    2018-03-29
    赞同
    回复
  • 彬💤
    彬💤
    2018-03-29

    以后万一需要修改  不单要修改app内容还得修改页面级内容  以后多个页面需要openid呢  以后进入页面不是这个页面呢  分享出去的页面返回来的可能会有需求就不是这个首页  这样子做不单不好理解  耦合性强  你还无法知道是否一定页面加载完成


    如果是统一标准  getOpenID() : Promise<Object> 那你以后每个页面都能调用这api  节省性能  解耦  以后支持es7还能直接写同步代码  async  await  易于理解

    2018-03-29
    赞同
    回复
  • 天赐Di
    天赐Di
    2018-03-29

    你的方法原理我不太明白,上面这种方法是我自己琢磨的,这里随便一贴。

    方便分享下你的方法吗?

    2018-03-29
    赞同
    回复
  • 彬💤
    彬💤
    2018-03-29

    所有全局的参数获取  无论是已经有的还是需要读接口异步获取的  都用函数式


    举个栗子


    全局有个id  需要读一个接口




    写的很随便  随便看看就好



    这样不会优雅很多么

    2018-03-29
    赞同
    回复
  • 天赐Di
    天赐Di
    2018-03-30

    需要导入第三方插件吗?

    2018-03-30
    赞同
    回复
  • 彬💤
    彬💤
    2018-03-30

    不需要。。。这是es6哎

    2018-03-30
    赞同
    回复