const result = await fetch('https://images.pexels.com/photos/3408744/pexels-photo-3408744.jpeg?auto=compress&cs=tinysrgb&h=130');
const img = await result.blob();
const url = URL.createObjectURL(img);
const div = document.querySelector('div');
div.style.background = `url('${url}')`;
Ему потребуется O(log K) умножений большого на большое (которое делается за O(L^2), где L - длина числа, которая будет O(K)).Умножение также можно свести к бинарному алгоритму. Нет принципиальной разницы между
Получается если промис завершается при первом вызове resolve или reject тогда как можно обработать все файлы?Отдельно получить массив имён файлов, map'ом превратить его в массив промисов ридера, дождаться их выполнения. Я же вам написал пример.
p.s. хотел спросить, зачем вы ставите запятые? Там где закрывающие круглые скобки. Они-же там не нужны.Это стайлгайд Airbnb https://github.com/airbnb/javascript
const getFileList = (mask) => new Promise(
(resolve, reject) => glob(
mask,
{},
(error, files) => {
if (error) {
reject(error);
}
resolve(files);
},
);
};
const cssFileList = await getFileList(`${__dirname}/build/**/*.css`);
const cssFileContentList = await Promise.all(
cssFileList.map(
(name) => fsPromises.readFile(name, { encoding: 'utf8' }),
),
);
console.log(cssFileContentList);
async function test() {
return new Promise(
(resolve, reject) => setTimeout(() => resolve('done'), 1000),
);
}
console.log(test()); // Promise { <state>: "pending" }
console.log(await test()); // "done"
const getFileList = (mask) => new Promise(
(resolve, reject) => glob(
mask,
{},
(error, files) => {
if (error) {
reject(error);
}
resolve(files);
},
);
};
const cssFileList = await getFileList(`${__dirname}/build/**/*.css`);