diff src/implab/guard.js @ 34:27e8e9e38e07 default tip

Слияние
author nickolay
date Wed, 05 Jun 2019 20:44:15 +0300
parents 8af8e840dd49 1dc2fd263b90
children
line wrap: on
line diff
--- a/src/implab/guard.js	Wed Jun 05 17:44:17 2019 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-define([ "./Deferred" ], function(Deferred) {
-    var toPromise = function(d) {
-        if (d && d.then)
-            return d;
-        var d2 = new Deferred();
-        d2.resolve(d);
-        return d2;
-    };
-
-    /**
-     * функция для асинхронного выполнения метода
-     * 
-     * @async
-     * @param{Object} o Объект, который будет использован в качестве
-     *                <code>this</code>, если не указан, будет
-     *                <code>null</code>
-     * @param{Function|String} m Функция или имя метода, обязательный параметр.
-     *                         Если указано имя, тогда параметр <code>o</code>
-     *                         также должен быть задан
-     * @param{Array} args Параметры для вызова метода, не обязательно.
-     * @returns{dojo/promise}
-     * @deprecated use <code>safe.async() + when()</code> instead.
-     */
-    return function(o, m, args) {
-        if (arguments.length == 1) {
-            m = o;
-            o = null;
-        } else if (arguments.length == 2 && o instanceof Function &&
-            m instanceof Array) {
-            args = m;
-            m = o;
-            o = null;
-        }
-
-        try {
-            if (!(m instanceof Function)) {
-                if (o)
-                    m = o[m];
-                else if (arguments.length == 1)
-                    return toPromise(m);
-                else
-                    throw new Error("The target object must be specified");
-            }
-
-            if (!m)
-                throw new Error("Method not found");
-
-            return toPromise(m.apply(o, args));
-        } catch (err) {
-            var d = new Deferred();
-            d.reject(err);
-            return d;
-        }
-    };
-});
\ No newline at end of file