Browse Source

Provide a traceback when `waitUntil` times out

JC Brand 6 năm trước cách đây
mục cha
commit
06717370f1
2 tập tin đã thay đổi với 15 bổ sung15 xóa
  1. 5 13
      src/headless/converse-core.js
  2. 10 2
      src/headless/utils/core.js

+ 5 - 13
src/headless/converse-core.js

@@ -260,25 +260,17 @@ _converse.log = function (message, level, style='') {
         message = message.outerHTML;
     }
     const prefix = style ? '%c' : '';
-    const logger = Object.assign({
-            'debug': _.get(console, 'log') ? console.log.bind(console) : _.noop,
-            'error': _.get(console, 'log') ? console.log.bind(console) : _.noop,
-            'info': _.get(console, 'log') ? console.log.bind(console) : _.noop,
-            'warn': _.get(console, 'log') ? console.log.bind(console) : _.noop
-        }, console);
     if (level === Strophe.LogLevel.ERROR) {
-        logger.error(`${prefix} ERROR: ${message}`, style);
+        u.logger.error(`${prefix} ERROR: ${message}`, style);
     } else if (level === Strophe.LogLevel.WARN) {
-        if (_converse.debug) {
-            logger.warn(`${prefix} ${(new Date()).toISOString()} WARNING: ${message}`, style);
-        }
+        u.logger.warn(`${prefix} ${(new Date()).toISOString()} WARNING: ${message}`, style);
     } else if (level === Strophe.LogLevel.FATAL) {
-        logger.error(`${prefix} FATAL: ${message}`, style);
+        u.logger.error(`${prefix} FATAL: ${message}`, style);
     } else if (_converse.debug) {
         if (level === Strophe.LogLevel.DEBUG) {
-            logger.debug(`${prefix} ${(new Date()).toISOString()} DEBUG: ${message}`, style);
+            u.logger.debug(`${prefix} ${(new Date()).toISOString()} DEBUG: ${message}`, style);
         } else {
-            logger.info(`${prefix} ${(new Date()).toISOString()} INFO: ${message}`, style);
+            u.logger.info(`${prefix} ${(new Date()).toISOString()} INFO: ${message}`, style);
         }
     }
 };

+ 10 - 2
src/headless/utils/core.js

@@ -14,13 +14,19 @@ import sizzle from "sizzle";
 
 const Strophe = strophe.default.Strophe;
 
-
 /**
  * The utils object
  * @namespace u
  */
 const u = {};
 
+u.logger = Object.assign({
+    'debug': _.get(console, 'log') ? console.log.bind(console) : _.noop,
+    'error': _.get(console, 'log') ? console.log.bind(console) : _.noop,
+    'info': _.get(console, 'log') ? console.log.bind(console) : _.noop,
+    'warn': _.get(console, 'log') ? console.log.bind(console) : _.noop
+}, console);
+
 u.isTagEqual = function (stanza, name) {
     if (stanza.nodeTree) {
         return u.isTagEqual(stanza.nodeTree, name);
@@ -554,7 +560,9 @@ u.waitUntil = function (func, max_wait=300, check_delay=3) {
     const interval = setInterval(checker, check_delay);
     const max_wait_timeout = setTimeout(() => {
         clearTimers(max_wait_timeout, interval);
-        promise.reject(new Error('Wait until promise timed out'));
+        const err_msg = 'Wait until promise timed out';
+        u.logger.error(err_msg);
+        promise.reject(new Error(err_msg));
     }, max_wait);
 
     return promise;