起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3523|回复: 7

[结贴] 在x5中,怎么同步加载js,require都是异步的

[复制链接]

1017

主题

4393

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
11177
QQ
发表于 2016-4-10 21:28:16 | 显示全部楼层 |阅读模式
在x5中,怎么同步加载js,require都是异步的
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2016-4-11 11:44:21 | 显示全部楼层
直接在函数中require的是异步的,可以直接在define中就require
js.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

1017

主题

4393

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
11177
QQ
 楼主| 发表于 2016-4-11 12:28:00 | 显示全部楼层
jishuang 发表于 2016-4-11 11:44
直接在函数中require的是异步的,可以直接在define中就require

有三个js(a.js、b.js、c.js),需要同步加载,先加载a.js,后加载b.js,再加载c.js
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-11 15:39:44 | 显示全部楼层
a.js, b.js和c.js是模块化的吗, 如果是的话, 可以这么做:
c.js: 声明依赖b.js,
b.js: 声明依赖a.js,
你的js中, 只需要声明依赖c.js即可, 它会自动加载b.js和a.js, 同时加载的顺序是 a.js -> b.js ->c.js
回复 支持 反对

使用道具 举报

1017

主题

4393

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
11177
QQ
 楼主| 发表于 2016-4-11 16:12:36 | 显示全部楼层
1、a.js、b.js、c.js不是模块化
2、这样写,会顺序开始加载js,但不是a.js加载完成才加载b.js
require(a.js);
require(b.js);
require(c.js);
3、a.js加载完成需要8ms,b.js加载完成需要4ms,c.js加载完成需要3ms,
b.js完成加载后需要会执行a.js中的一个类,但此时a.js还没有完成加载,会报错
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2016-4-11 18:14:53 | 显示全部楼层
如果不是模块化的,可以在define中如下
require(["c.js"] function(){
        require(["b.js"], function(){
                require(["a.js"]);
        })
})

推荐把js作为模块化的,然后在c.js中require b.js
在b.js中require a.js
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

1017

主题

4393

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
11177
QQ
 楼主| 发表于 2016-4-11 18:19:11 | 显示全部楼层
jishuang 发表于 2016-4-11 18:14
如果不是模块化的,可以在define中如下
require(["c.js"] function(){
        require(["b.js"], function(){

暂结帖,无法模块化,用的百度地图api
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

140

主题

573

帖子

1080

积分

金牌会员

Rank: 6Rank: 6

积分
1080
QQ
发表于 2017-8-31 15:55:40 | 显示全部楼层
非常好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-24 04:59 , Processed in 0.064797 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表