app.js有办法调用某一个页面的方法吗?
发布于 5 年前 作者 mtang 11002 次浏览 来自 问答

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

8 回复

不需要。。。这是es6哎

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

方便分享下你的方法吗?

返回一个Promise不就好了

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

为什么不封装getOpenID方法

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

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

需要导入第三方插件吗?

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

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

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

举个栗子

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

写的很随便  随便看看就好

这样不会优雅很多么

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

回到顶部