Open hmu332233 opened 3 years ago
userIds.reduce(async (prevPromise, userId) => {
await prevPromise;
return methodThatReturnsAPromise(userId);
}, Promise.resolve());
reduce를 이용하여 promise chain을 만드는 방식이기 때문에 이전 값을 넘겨주는 것도 가능
const targetUsers = conditions.reduce(async (prevPromise, condition) => {
const users = await prevPromise;
return methodThatReturnsAPromise(condition, users);
}, Promise.resolve([]));
new Date(SECONDS * 1000).toISOString().substr(14, 5)
function replaceQueryInUrl(key, value) {
const params = new URLSearchParams(window.location.search)
if (value.length < 1) {
params.delete(key)
} else {
params.set(key, value)
}
return '?' + params.toString();
}
window.history.replaceState(null, '', replaceQueryInUrl('q', '질문입니다'))
window.history.replaceState(
window.history.state,
'',
window.location.pathname + queryString,
)
/**
* 주어진 객체의 필드에 대한 기본값을 설정
* 객체의 필드마다 기본값을 보장해준다
*
* @param {Object} target - 기본값을 설정할 대상 객체.
* @param {Object} defaults - 기본값을 포함한 객체.
*/
function ensureDefaults(target, defaults) {
const result = { ...target };
for (const key of Object.keys(defaults)) {
if (typeof defaults[key] === 'object' && defaults[key] !== null) {
result[key] = ensureDefaults(result[key] ?? {}, defaults[key]);
} else if (!(key in result)) {
result[key] = defaults[key];
}
}
return result;
}
Search Keyword