mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-27 17:16:14 +01:00
feat: add utils.promiseParallel
This commit is contained in:
@@ -474,6 +474,19 @@
|
|||||||
return object && typeof object.then === 'function';
|
return object && typeof object.then === 'function';
|
||||||
},
|
},
|
||||||
|
|
||||||
|
promiseParallel: function (obj) {
|
||||||
|
var keys = Object.keys(obj);
|
||||||
|
return Promise.all(
|
||||||
|
keys.map(function (k) { return obj[k]; })
|
||||||
|
).then(function (results) {
|
||||||
|
var data = {};
|
||||||
|
keys.forEach(function (k, i) {
|
||||||
|
data[k] = results[i];
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
isRelativeUrl: function (url) {
|
isRelativeUrl: function (url) {
|
||||||
var firstChar = String(url || '').charAt(0);
|
var firstChar = String(url || '').charAt(0);
|
||||||
return (firstChar === '.' || firstChar === '/');
|
return (firstChar === '.' || firstChar === '/');
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
var assert = require('assert');
|
var assert = require('assert');
|
||||||
var JSDOM = require('jsdom').JSDOM;
|
var JSDOM = require('jsdom').JSDOM;
|
||||||
var utils = require('./../public/src/utils.js');
|
var utils = require('./../public/src/utils.js');
|
||||||
|
const db = require('./mocks/databasemock');
|
||||||
|
|
||||||
describe('Utility Methods', function () {
|
describe('Utility Methods', function () {
|
||||||
// https://gist.github.com/robballou/9ee108758dc5e0e2d028
|
// https://gist.github.com/robballou/9ee108758dc5e0e2d028
|
||||||
@@ -407,4 +407,17 @@ describe('Utility Methods', function () {
|
|||||||
done();
|
done();
|
||||||
}, 500);
|
}, 500);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should return object with data', async function () {
|
||||||
|
const user = require('../src/user');
|
||||||
|
const uid1 = await user.create({ username: 'promise1' });
|
||||||
|
const uid2 = await user.create({ username: 'promise2' });
|
||||||
|
const result = await utils.promiseParallel({
|
||||||
|
user1: user.getUserData(uid1),
|
||||||
|
user2: user.getUserData(uid2),
|
||||||
|
});
|
||||||
|
assert(result.hasOwnProperty('user1') && result.hasOwnProperty('user2'));
|
||||||
|
assert.strictEqual(result.user1.uid, uid1);
|
||||||
|
assert.strictEqual(result.user2.uid, uid2);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user