蓝鸟。然后方法

时间:2014-10-20 13:43:07

标签: promise bluebird

.call方法的Bluebird文档有code sample标记,"链接破折号或下划线方法"。

下面的代码段中链式.then(_)的目的是什么?

var Promise = require("bluebird");

...

var _ = require("lodash");
var fs = Promise.promisifyAll(require("fs"));

fs.readdirAsync(".").then(_) <-- ???
    .call("groupBy", function(fileName) {
        return fileName.charAt(0);
    })

...

谢谢!

1 个答案:

答案 0 :(得分:3)

在下划线中,_ identifier是一个函数,也是一个命名空间。

执行.then返回传递函数的结果。

调用_函数会启动下划线链,任何连续的操作都会在传递的对象上发生。它以readdirAsync的结果开始一个链。