V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
uleh
V2EX  ›  JavaScript

问个非阻塞加载 JS 的问题

  •  
  •   uleh · 2014-10-30 23:39:55 +08:00 · 2566 次点击
    这是一个创建于 3458 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对 JS 开发了解不太多。不过最近一个 Android App 项目上用到了 PhoneGap 的 Cordova。
    这个 JS 包是采用非阻塞式加载的,我的理解是响应 ondeviceready 事件就可以认为包已经加载完毕,可以调用硬件接口了。
    可是,目前这个项目上要求使用一个内部开发的 JS 库。这个库是对 Cordova 的一个封装,并提供了一些和 App 交互的接口。
    这时候问题来了,这个库也是异步加载,而且响应了 ondeviceready 事件,但没有转发出来。我该如何判断这个库什么时候加载完成?
    6 条回复    2014-11-05 18:43:47 +08:00
    uleh
        1
    uleh  
    OP
       2014-10-30 23:41:48 +08:00
    自己在网上搜了一下,是不是可以用 RequireJS 来控制库的加载。这时候可以通过 callback 就知道库何时加载完成了?

    有没有更加简洁的方法,不需要引入第三方的库,最好是只需要几行代码就可以搞定的。
    fising
        2
    fising  
       2014-10-30 23:43:49 +08:00
    setTimeout / setInteval
    fising
        3
    fising  
       2014-10-30 23:44:16 +08:00   ❤️ 1
    sorry, setInterval
    exceloo
        4
    exceloo  
       2014-10-31 09:19:09 +08:00   ❤️ 1
    promise
    uleh
        5
    uleh  
    OP
       2014-10-31 09:57:44 +08:00
    @fising @exceloo
    非常感谢,我来研究一下看看
    cdxem713
        6
    cdxem713  
       2014-11-05 18:43:47 +08:00 via iPhone
    @uleh 它的库里面应该会有一些事件或者回调来确保加载完成的吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2778 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:18 · PVG 21:18 · LAX 06:18 · JFK 09:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.