support for plugins where the init method doesn't return a Promise
This commit is contained in:
parent
5301a9ea03
commit
6410ed15aa
29
js/reveal.js
29
js/reveal.js
@ -539,29 +539,34 @@
|
||||
|
||||
var pluginsToInitialize = Object.keys( plugins ).length;
|
||||
|
||||
var afterPlugInitialized = function() {
|
||||
if( --pluginsToInitialize === 0 ) {
|
||||
loadAsyncDependencies();
|
||||
}
|
||||
};
|
||||
|
||||
for( var i in plugins ) {
|
||||
|
||||
var plugin = plugins[i];
|
||||
|
||||
// If the plugin has an 'init' method, initialize and
|
||||
// wait for the callback
|
||||
// If the plugin has an 'init' method, invoke it
|
||||
if( typeof plugin.init === 'function' ) {
|
||||
plugin.init().then( function() {
|
||||
if( --pluginsToInitialize === 0 ) {
|
||||
loadAsyncDependencies();
|
||||
}
|
||||
} );
|
||||
var callback = plugin.init();
|
||||
|
||||
// If the plugin returned a Promise, wait for it
|
||||
if( callback && typeof callback.then === 'function' ) {
|
||||
callback.then( afterPlugInitialized );
|
||||
}
|
||||
else {
|
||||
afterPlugInitialized();
|
||||
}
|
||||
}
|
||||
else {
|
||||
pluginsToInitialize -= 1;
|
||||
afterPlugInitialized();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if( pluginsToInitialize === 0 ) {
|
||||
loadAsyncDependencies();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -97,8 +97,6 @@ c:[{cN:"comment",b:/\(\*/,e:/\*\)/},e.ASM,e.QSM,e.CNM,{b:/\{/,e:/\}/,i:/:/}]}});
|
||||
}
|
||||
} );
|
||||
|
||||
return Promise.resolve();
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -84,8 +84,6 @@ var RevealMath = window.RevealMath || (function(){
|
||||
|
||||
} );
|
||||
|
||||
return Promise.resolve();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -168,8 +168,6 @@ var RevealNotes = (function() {
|
||||
|
||||
}
|
||||
|
||||
return Promise.resolve();
|
||||
|
||||
},
|
||||
|
||||
open: openNotes
|
||||
|
@ -22,8 +22,6 @@ var RevealZoom = (function(){
|
||||
}
|
||||
} );
|
||||
|
||||
return Promise.resolve();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user