gpt4 book ai didi

javascript - 使用 Dojo 的 require.trace 跟踪整体加载进度

转载 作者:行者123 更新时间:2023-11-29 15:43:22 25 4
gpt4 key购买 nike

docs for Dojo's AMD loader提到一个跟踪 API。是否有任何示例说明这是如何实现的?

我想在加载我的应用程序的各种依赖项时利用它来显示“已加载 X 个,共 X 个”样式的消息,但我不确定如何操作或在我的代码流中包含跟踪的位置。

编辑: trace API 似乎只在 Dojo 的源版本上可用。有没有其他方法可以实现我想要的?

最佳答案

这段代码似乎可以工作,但它太脆弱了。它依赖于 1) 需要在 Dojo 的源版本中公开它的内部工作原理和 2) 将来可能会更改的 require 属性。当然有更好的方法!

require( [], function()
{
// output amd progress
var loadWatchHandle = setInterval( function()
{
var all = Object.keys( require.modules ).length,
waiting = 0;

for( dep in require.waiting )
{
if( require.waiting[ dep ] !== 1 )
{
waiting++;
}
}

// write progress
console.log( ( all - waiting ) + '/' + all + ' files (' + parseInt( ( all - waiting ) / all * 100 ) + '%)' );
}, 50 );

require( [ 'dojo/parser',
'dojo/ready',
'dijit/layout/BorderContainer',
'squad_builder/TabContainer',
'dijit/layout/ContentPane',
'dojo/domReady!' ],
function( parser, ready )
{
parser.parse();

ready( function() // uses ready not domReady because we want initial djits to be parsed
{
// stop tracing
clearInterval( loadWatchHandle );

// bootstrap here...

} );
} );
} );

关于javascript - 使用 Dojo 的 require.trace 跟踪整体加载进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15632089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com