【发布时间】:2019-09-04 14:59:44
【问题描述】:
当我链接的第一个函数是从同一类返回对象实例的静态方法时,我如何从某个类链接多个函数?
静态方法的目的是设置策略模式的工厂方法,根据哪个提供者处于活动状态,它将设置具有不同子类的类的策略属性。最后静态方法返回基类的实例。
我有一个可行的解决方案,我首先调用静态方法并将对象实例保存在变量引用中。之后我调用另一个函数。我喜欢通过链接将代码压缩在一行中。
// Commented code works
// Provider is the base class
// getActiveProvider is the static method and return Provider class object instance
// findNumbersByIds is non static method
// const provider = await Provider.getActiveProvider();
// return await provider.findNumbersByIds([...]);
// This one not working
return await Provider.getActiveProvider().findNumbersByIds([...]);
我希望使用链接可以获得正确的结果,就像没有链接一样。
BR,伊戈尔
【问题讨论】:
-
请在问题中插入类声明(至少,它的相关部分),以帮助我们识别,发生了什么!另请阅读:How to create a Minimal, reproducible example
-
我猜你在找
return (await Provider.getActiveProvider()).findNumbersByIds([...]);?
标签: javascript class static chaining