由 Qiongpan Ke 于 2024-07-03 最后修改
修改评论:
该版本没有评论
摘要
细节
- 页面属性
-
- 内容
-
... ... @@ -5,11 +5,11 @@ 5 5 * @param name 临时回调函数的名称前缀。 6 6 * @param callback 回调函数,入参可根据需要自由定义。 7 7 * @param options 附加参数,在回调函数中可通过 this 访问这些附加参数。 8 - * 另外,预定义 timeoutInterval 参数用于设置临时回调函数的超时时间, 8 + * 另外,预定义 timeoutInterval 参数用于设置临时回调函数的超时时间间隔, 9 9 * 超时后会回调 timeoutCallback 参数指向的函数,默认超时时间为 5 分钟。 10 10 * @return 返回临时回调函数的完整调用名称,可与入参拼装到一起,通过类似 eval 的方式进行调用。 11 11 */ 12 -createTemporaryCallback = function(name, callback, options) { 12 +var createTemporaryCallback = function(name, callback, options) { 13 13 const attribs = options || {}; 14 14 const funName = name + '_' + Date.now() + '_' + Math.floor(Math.random() * 1000000); 15 15 const setupFn = function(obj) { window[funName] = obj; return 'window.' + funName; } ... ... @@ -16,11 +16,11 @@ 16 16 const clearFn = function() { delete window[funName]; }; 17 17 const timerId = setTimeout(function() { clearFn(); attribs.timeoutCallback && attribs.timeoutCallback(); }, attribs.timeoutInterval || 5 * 60 * 1000); 18 18 const funBody = function() { callback.apply(this, arguments); clearTimeout(timerId); clearFn(); }; 19 - const tempObj = { name: funName, ac tion: funBody };19 + const tempObj = { name: funName, callback: funBody }; 20 20 Object.assign(funBody, callback); 21 21 Object.assign(tempObj, attribs); 22 - return setupFn(tempObj) + '.ac tion';23 -} 22 + return setupFn(tempObj) + '.callback'; 23 +}; 24 24 25 25 var temporaryCallbackName = createTemporaryCallback('demoFn', function(success, message, data) { 26 26 if (+success) {