[IMP] make Registry.get_any faster

throwing exceptions seems quite slow in Safari, and generates a significant performance hit in dashboards

bzr revid: xmo@openerp.com-20111012131255-2cayqxedjpdtj432
This commit is contained in:
Xavier Morel
2011-10-12 15:12:55 +02:00
parent 101dd01502
commit 2eab13708f
+5 -7
View File
@@ -287,14 +287,12 @@ openerp.web.Registry = openerp.web.Class.extend( /** @lends openerp.web.Registry
*/
get_any: function (keys) {
for (var i=0; i<keys.length; ++i) {
try {
return this.get_object(keys[i]);
} catch (e) {
if (e instanceof openerp.web.KeyNotFound) {
continue;
}
throw e;
var key = keys[i];
if (key === undefined || !(key in this.map)) {
continue;
}
return this.get_object(key);
}
throw new openerp.web.KeyNotFound(keys.join(','));
},