推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
des

如何在需要同步返回数据的接口中返回一个需要异步获取的数据

  •  
  •   des · Mar 2, 2017 via Android · 4505 views
    This topic created in 3544 days ago, the information mentioned may be changed or developed.
    a 、获得数据后,再去启动应用 /插件(明显只适合初始化数据)
    b 、预先返回一个空对象,后续再插入
    c 、魔改,使其支持 promise 或者再一个回调
    d 、实现一个协程(不想吐槽了)

    就没有更好的方法了吗?
    8 replies  •  2017-03-03 13:19:03 +08:00
    MinonHeart
    MinonHeart
    Mar 2, 2017
    1
    async
    await
    des
    des
    OP
    Mar 2, 2017 via Android
    2
    @MinonHeart 可惜需要编译,不知道能不能编译到 es5
    Mikewu
    Mikewu
    Mar 2, 2017
    3
    es5 的话, setTimeout 递归回调吧
    duan602728596
    duan602728596
    Mar 2, 2017 via iPhone
    4
    能够编译到 es5 ,不过需要 regenerator-runtime ( npm 下载 babel-polyfill ,里面有这个库)兼容 geneator 函数。
    native-promise-only 兼容 Promise 。
    CosimoZi
    CosimoZi
    Mar 2, 2017
    5
    刚好也遇到这个问题,而且我是需要同步返回数据的接口中需要多个异步获取的参数.希望有不需要编译的原生解决方法..
    des
    des
    OP
    Mar 2, 2017 via Android
    6
    @CosimoZi 目前看来 a 和 b 是最好的方法了,如果可以的话。
    des
    des
    OP
    Mar 2, 2017 via Android
    7
    @Mikewu 求问 setTimeout 怎么实现?
    JamesRuan
    JamesRuan
    Mar 3, 2017
    8
    异步逻辑是个 Monad ,不可能放在同步逻辑内执行的。
    最简单的方法就是接口改成返回 Promise 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2153 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:10 · PVG 15:10 · LAX 23:10 · JFK 02:10
    ♥ Do have faith in what you're doing.