هل يمكنني الحصول على وظيفة TS Node التي تقوم بنسخ ملف أو دليل بشكل متكرر من مسار إلى آخر؟ ضع تعليقا في نهاية كل سطر يشرح فيه ما يفعله. يجب أن تكون غير متزامنة.
هل يمكنني الحصول على وظيفة TS Node التي تقوم بنسخ ملف أو دليل بشكل متكرر من مسار إلى آخر؟ ضع تعليقا في نهاية كل سطر يشرح فيه ما يفعله. يجب أن تكون غير متزامنة.
user
شيء مؤكد. إليك وظيفة TypeScript غير المتزامنة لنسخ ملف أو دليل بشكل متكرر!

استيراد { الوعود } من "fs"؛
استيراد {انضمام} من "المسار"؛
نسخة وظيفة غير متزامنة (src: سلسلة، الوجهة: سلسلة): وعد<void> {
    const stat = انتظار الوعود.stat(src); // احصل على حالة المصدر للنسخ منه.

    if (stat.isDirectory()) { // إذا كان المصدر دليلاً:
        ثابت متضمن = انتظر الوعود.readdir(src); // اقرأ محتويات الدليل.
        انتظر Promise.all( // انتظر حتى يتم حل جميع الوعود المنتجة.
            tained.map((file) => Copy(join(src, file), join(destination, file))) // انسخ كل ملف موجود في الدليل إلى مسار الوجهة الخاص به.
        );
    } else if (stat.isFile()) { // إذا كان المصدر ملفًا:
        انتظر الوعود.mkdir(dirname(destination), { recursive: true }); // قم بإنشاء مسار الملف بشكل متكرر إذا لم يكن موجودًا.
        انتظر الوعود.copyFile(src, Destination); // انسخ الملف إلى الوجهة.
    }
}
assistant