1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
define(function () { return function ($element, name) { return new Promise(function (resolve, reject) { var api = $element.data(name); if (api) { resolve(api); } else { $element.one(name + '.ready', function () { resolve($element.data(name)); }); } }); }; });