首页 > 解决方案 > 调用链式构建器函数和在打字稿中包含构建器的变量上调用它之间的区别

问题描述

当使用 yargs 提供的构建器和如下示例的链式调用时,一切正常。

const foo = yargs(stringArray)
    .string('bar')
    .describe({
        'bar': 'informative text',
    }).argv;

但是,当尝试通过拆分代码并使用 foo 的值来实现相同的代码时,它似乎会中断:

const foo = yargs(stringArray);
foo.string('bar')
    .describe({
        'bar': 'informative text',
    }).argv; //this does compile, but not work

来自 Java 背景,我假设第一行返回一个构建器,并且我是否链接函数调用或在包含第一行输出的变量上调用它都没有关系。这似乎不是这里的情况。我错过了什么?这与库有关(在这种情况下是yargs)还是这种模式在打字稿中的这种一般行为?

标签: typescriptbuilderyargs

解决方案


错误是一个简单的错误:在第二个片段中,链的返回值没有保存在任何地方,因此显然您要检索的对象将无法访问。


推荐阅读