Files
KQL ce6aa207e9 fix: 修复图片路径以适配GitHub Pages base path
- 将所有图片路径从绝对路径改为使用 process.env.PUBLIC_URL
- 修复 HomePage.tsx 中所有图片引用
- 修复 CoursePage.tsx 中所有图片引用
- 确保图片在 GitHub Pages 上正确加载

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 09:24:45 +08:00

114 lines
2.4 KiB
JavaScript

namespace('concurrent', function () {
task('A', function () {
console.log('Started A');
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('Finished A');
resolve();
}, 200);
});
});
task('B', function () {
console.log('Started B');
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('Finished B');
resolve();
}, 50);
});
});
task('C', function () {
console.log('Started C');
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('Finished C');
resolve();
}, 100);
});
});
task('D', function () {
console.log('Started D');
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('Finished D');
resolve();
}, 300);
});
});
task('Ba', ['A'], function () {
console.log('Started Ba');
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('Finished Ba');
resolve();
}, 50);
});
});
task('Afail', function () {
console.log('Started failing task');
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('Failing B with error');
throw new Error('I failed');
}, 50);
});
});
task('simple1', ['A','B'], {concurrency: 2}, function () {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, 50);
});
});
task('simple2', ['C','D'], {concurrency: 2}, function () {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, 50);
});
});
task('seqconcurrent', ['simple1','simple2'], function () {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, 50);
});
});
task('concurrentconcurrent', ['simple1','simple2'], {concurrency: 2}, function () {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, 50);
});
});
task('subdep', ['A','Ba'], {concurrency: 2}, function () {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, 50);
});
});
task('fail', ['A', 'B', 'Afail'], {concurrency: 3}, function () {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, 50);
});
});
});