请问 ES6 的 Promise 怎样可以让它同步顺序执行?

2019-02-13 00:25:12 +08:00
 Flasky

代码:
现在是数据还没进 then 里面处理就直接 export 输出了,页面都渲染完了才有数据过来,怎样改可以让它处理完数据了才 export 输出?

6800 次点击
所在节点    问与答
10 条回复
Lax
2019-02-13 00:45:23 +08:00
我一般直接 export 一个 promise 出去
dixeran
2019-02-13 00:48:18 +08:00
据我所知 js 里没法异步导出一个对象。
所以 a)调用模块的时候等待一会
b)或者导出 Promise,返回 Auth 对象
ashong
2019-02-13 00:53:10 +08:00
GetAuthorized 传个 cb 进去 21 行后回调 export
hcwhan
2019-02-13 00:54:42 +08:00
async await
Flasky
2019-02-13 00:54:48 +08:00
@dixeran @Lax 那我试试 export 一个 promise
throns
2019-02-13 01:38:23 +08:00
写这种代码纯粹是给自己挖坑,如果需要验证才能访问页面,应该在组件 didMount 以后判断是否处于已验证状态,如果不是则将路由 replace 到登录界面,登录状态最好全局管理,将其放到 redux 中或者用新的 Context API。
wszgrcy
2019-02-13 07:02:50 +08:00
槽点太多,无法吐槽。简而言之一句话导出函数,return promise
des
2019-02-13 08:01:33 +08:00
DOLLOR
2019-02-13 08:28:00 +08:00
又是拿同步的思维写异步方法……
而且你的 module 不应该 export 一个 status 形式的变量,而应该 export 一个 function,比如直接把 GetAuthorized export 出去
learnshare
2019-02-13 08:31:26 +08:00
你并未理解异步和同步

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/534372

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX