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

发布于 6 年前作者 mtang11154 次浏览最后编辑 6 年前来自 ask

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

8 回复
wzheng
wzheng1 楼6 年前

不需要。。。这是es6哎

lujie
lujie2 楼6 年前

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

方便分享下你的方法吗?

uguo
uguo3 楼6 年前

返回一个Promise不就好了

jing59
jing594 楼6 年前

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

为什么不封装getOpenID方法

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

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

tdai
tdai5 楼6 年前

需要导入第三方插件吗?

myu
myu6 楼6 年前

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

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

leiyan
leiyan7 楼6 年前

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

举个栗子

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

写的很随便  随便看看就好

这样不会优雅很多么

jie13
jie138 楼4 年前

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