在rxjs中“expand”是什么意思?



我正在阅读这段代码。这是我第一次接触RxJS。

相关代码如下:

const resolvedAll = updatedPkgJSONs
    ::map((pkgJson) => ({pkgJson, target: '..', isProd}))
    ::resolveAll(nodeModules, undefined, isExplicit)::skip(1)
    ::publishReplay().refCount()

我在试着猜上面这句话的意思。但我被困在resolveAll函数。

resolveAll函数:

export function resolveAll (nodeModules, targets = Object.create(null), isExplicit) {
    return this::expand(({target, pkgJson, isProd = false}) => {
        // more code
    })
}

this::expand是什么意思?参数是否应该匹配?({pkgJson, target: '..', isProd}){target, pkgJson, isProd = false}

我知道有文件。但是我很难把这个文档和我的例子联系起来。

在这段代码中有相当多的特性:

  • ::操作符,即绑定操作符将确保this被正确绑定。
  • ({arg1, arg2, arg3})析构操作符
  • isProd = false是参数的默认值

具体来说,这里发生的事情是this::expand是一个接受函数作为参数的函数(也称为高阶函数),函数expand接受一个对象参数,其属性名为target, pkgJsonisProd(可选)(默认为false)。

最新更新