小编Łuk*_*ona的帖子

Nodejs then() 函数在 Promise 解析之前执行

我在让 Promise 按预期工作时遇到问题。我需要做以下事情:

我从标准输出获取文件名,将它们分成行并复制它们。复制操作完成后,我想开始其他操作,这是我的问题。

我在 Promise 中创建了一个复制函数,如果出现错误,我会立即拒绝它,如果没有错误,我会在循环复制完成后解决它,但由于某种原因,then() 内部的函数会在复制操作完成之前执行

var lines  = stdout.split(/\r?\n/);

copyUpdatedFiles(lines).then(
    function() {
       console.log('this one should be executed after copy operation');
    }
);

function copyUpdatedFiles(lines) {
    return new Promise(function(resolve, reject) {
        for (var i = 0; i < linesLength; i++) {
            fs.copy(lines[i], target, function(err) {
                if (err) {
                    reject();
                }
            });
        }
        resolve();
    });
}
Run Code Online (Sandbox Code Playgroud)

请帮忙,因为我显然错过了一些东西。

javascript node.js promise

4
推荐指数
1
解决办法
4507
查看次数

标签 统计

javascript ×1

node.js ×1

promise ×1