generated at
複数のページから関数をimportして同時実行する
Userscriptでdynamic importを使う実験

実験
タイトルに「実験:」を含んだページの experiment.js にある execute() を実行し、その戻り値をまとめて console.log() に出力してみる
js
(async () => { const {execute} = await import ('/api/code/takker/複数のページから関数をimportして同時実行する/script.js'); execute(); })();
script.js
export async function execute() { const titles = scrapbox.Project.pages.flatMap(({titleLc, exists}) => exists && titleLc.startsWith('実験:') ? [titleLc] : []); const executes = await Promise.all(titles.map(title => getFunction(title, 'experiment.js'))); console.log(executes.flatMap(execute => execute ? [execute()] : [])); } async function getFunction(title, filename) { try { const {execute} = await import(`../${title}/${filename}`); return execute; } catch(e) { return undefined; } }

#2021-03-13 08:18:56
#2021-03-12 23:23:03