在节点上使用ncp,不会复制任何文件或文件夹

时间:2018-07-03 23:59:41

标签: node.js electron

在我的电子应用程序中,我需要将目录的递归副本复制到新位置,为此,我正在使用“ ncp”。代码如下:

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

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

输入和输出目录都存在并且是完全限定的路径(Windows),但是不会复制任何内容,并且调用会在不调用回调函数的情况下返回。

有什么建议我要去哪里吗?

我还尝试了具有类似结果的“递归复制”模块,这让我觉得我缺少了一些东西。 席德

1 个答案:

答案 0 :(得分:0)

此问题是由于我对Electron中的异步操作缺乏了解。执行上述代码的功能返回到主进程,并打开一个消息框,向用户报告操作完成。

我已经更新了代码,以便调用异步函数的函数获得一个回调作为参数,它调用此回调以报告成功/失败。

在研究异步使用的所有示例时,我仅看到了实际的异步调用和处理程序函数,我完全错过了我在消息框中阻塞的事实。我确信这是一个常见的新节点用户错误,我希望将这个答案留在这里,其他人可能会发现并解决他们的问题... Sid