Используя ncp с Node, файлы и папки не копируются - PullRequest
0 голосов
/ 04 июля 2018

В моем электронном приложении мне нужно сделать рекурсивную копию каталога в новом месте, для этого я использую «ncp». Код выглядит так:

const ncp = require('ncp')
ncp.limit = 16

ncp(inputFolder, outputFolder, function(error) {
    if (error) {
        console.log(error)
    } else {
        console.log(`Copied\n`)
    } 
})

Входные и выходные каталоги существуют и являются полностью определенными путями (Windows), однако ничего не копируется, и вызов возвращается без вызова функции обратного вызова.

Какие-нибудь предложения, где я иду не так?

Я также попробовал модуль "recursive-copy" с похожими результатами, заставляет меня думать, что я что-то упустил. Sid

1 Ответ

0 голосов
/ 04 июля 2018

Эта проблема была из-за моего непонимания асинхронных операций в Electron. Функция, в которой выполнялся вышеуказанный код, возвращалась основному процессу, и он открывал окно сообщения, чтобы сообщить пользователю о завершении операции.

Я обновил свой код, чтобы функция, вызывающая асинхронные функции, получала обратный вызов в качестве параметра и вызывала этот обратный вызов, чтобы сообщить об успехе / неудаче.

Все примеры использования асинхронности, которые я видел, когда я исследовал это, показывали только реальные асинхронные вызовы и функции обработчика, я полностью упустил тот факт, что я блокировал окно сообщения. Я уверен, что это распространенная ошибка пользователя нового узла, и я надеюсь, что, оставив этот ответ здесь, некоторые другие могут найти его и решить свои проблемы ... Sid

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...