Syd*_*ney 4 javascript requirejs
我尝试使用requirejs和async插件加载适用于JavaScript的Google API客户端库:
require.config({
paths : {
async : '../lib/requirejs/async'
},
waitSeconds: 60
});
define('gapi', ['async!https://apis.google.com/js/client.js!callback'],
function(){
console.log('gapi loaded');
return gapi.client;
}
);
require(['gapi'], function(){
console.log("Callback");
console.log(gapi);
});
Run Code Online (Sandbox Code Playgroud)
加载此库的常用方法是
<script src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>
Run Code Online (Sandbox Code Playgroud)
一切都在不到2秒内加载,但我总是得到这个错误:
Uncaught Error: Load timeout for modules: async!https://apis.google.com/js/client.js!callback_unnormalized2,async!https://apis.google.com/js/client.js!callback
http://requirejs.org/docs/errors.html#timeout
Run Code Online (Sandbox Code Playgroud)
TL; DR; 改变!callback对!onload应该解决的超时时间.
define('gapi', ['async!https://apis.google.com/js/client.js!onload'],
function(){
console.log('gapi loaded');
return gapi.client;
}
);
Run Code Online (Sandbox Code Playgroud)
之后,该值!被用作异步回调的参数名称,在这种情况下,URI加载会像https://apis.google.com/js/client.js?onload=__async_req_3__这里__async_req_3__是一个全局变量(回调函数),只要谷歌API的加载触发(通知插件所有的依赖性满足).
| 归档时间: |
|
| 查看次数: |
5704 次 |
| 最近记录: |