Flasky
V2EX  ›  问与答

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

  •  
  •   Flasky · Feb 13, 2019 · 8159 views
    This topic created in 2827 days ago, the information mentioned may be changed or developed.

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

    10 replies  •  2019-02-13 08:31:26 +08:00
    Lax
    Lax
    Feb 13, 2019
    1
    我一般直接 export 一个 promise 出去
    dixeran
    dixeran
    Feb 13, 2019 via Android
    2
    据我所知 js 里没法异步导出一个对象。
    所以 a)调用模块的时候等待一会
    b)或者导出 Promise,返回 Auth 对象
    ashong
    ashong
    Feb 13, 2019 via iPhone
    3
    GetAuthorized 传个 cb 进去 21 行后回调 export
    hcwhan
    hcwhan
    Feb 13, 2019 via iPhone
    4
    async await
    Flasky
    Flasky
    OP
    Feb 13, 2019 via Android
    5
    @dixeran @Lax 那我试试 export 一个 promise
    throns
    throns
    Feb 13, 2019 via iPhone
    6
    写这种代码纯粹是给自己挖坑,如果需要验证才能访问页面,应该在组件 didMount 以后判断是否处于已验证状态,如果不是则将路由 replace 到登录界面,登录状态最好全局管理,将其放到 redux 中或者用新的 Context API。
    wszgrcy
    wszgrcy
    Feb 13, 2019 via Android
    7
    槽点太多,无法吐槽。简而言之一句话导出函数,return promise
    AV1
    AV1
    Feb 13, 2019
    9
    又是拿同步的思维写异步方法……
    而且你的 module 不应该 export 一个 status 形式的变量,而应该 export 一个 function,比如直接把 GetAuthorized export 出去
    learnshare
    learnshare
    Feb 13, 2019
    10
    你并未理解异步和同步
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4705 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 03:03 · PVG 11:03 · LAX 19:03 · JFK 22:03
    ♥ Do have faith in what you're doing.