2
0
Эх сурвалжийг харах

Make sure api.roomviews.close returns a promise

JC Brand 6 жил өмнө
parent
commit
b816bcc346

+ 13 - 7
src/converse-muc-views.js

@@ -2126,19 +2126,25 @@ converse.plugins.add('converse-muc-views', {
                  */
                 'close' (jids) {
                     if (_.isUndefined(jids)) {
-                        _converse.chatboxviews.each(function (view) {
+                        return Promise.all(_converse.chatboxviews.map(view => {
                             if (view.is_chatroom && view.model) {
-                                view.close();
+                                return view.close();
                             }
-                        });
+                            return Promise.resolve();
+                        }));
                     } else if (_.isString(jids)) {
                         const view = _converse.chatboxviews.get(jids);
-                        if (view) { view.close(); }
+                        if (view) {
+                            return view.close();
+                        }
                     } else {
-                        _.each(jids, function (jid) {
+                        return Promise.all(_.map(jids, jid => {
                             const view = _converse.chatboxviews.get(jid);
-                            if (view) { view.close(); }
-                        });
+                            if (view) {
+                                return view.close();
+                            }
+                            return Promise.resolve();
+                        }));
                     }
                 }
             }