【问题标题】:Node.js: rimraf not executing asynchronouslyNode.js:rimraf 没有异步执行
【发布时间】:2021-03-27 18:58:25
【问题描述】:

我是一个新手,我对一个似乎不是异步执行的调用感到头疼。是不是我做错了什么?

var rimraf = require('rimraf');

var myDir= "C:\\DeleteMe";

function doStuff(cb) {
    rimraf(myDir, function (err) {
        console.log("done delete");
        return cb(null);
    });

    console.log("after rimraf");
}

doStuff(function(){
    console.log("done");
});

我从中得到的输出是

after rimraf
done delete
done

知道发生了什么吗?

【问题讨论】:

  • 这个顺序对我来说似乎是正确的(doStuff 中的消息,第一个 cb 中的消息,第二个 cb 中的消息)。你在期待什么?
  • 对我来说看起来很异步。
  • 哎哟。你说的对。我把自己弄糊涂了。抱歉,我是新手。
  • 我投票关闭,因为一切实际上都正常工作。 :) @user2689782,如果不是这样,请更新问题。
  • 试图弄清楚如何关闭它...

标签: javascript node.js asynchronous


【解决方案1】:

试试这个支持异步等待的,https://github.com/shinnn/rmfr

npm i rmfr

const rmfr = require('rmfr');

(async () => await rmfr('path/to/target'))();

【讨论】:

    猜你喜欢
    • 2016-10-04
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 2016-03-23
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多