问题标签 [falcor-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
falcor - 如何构建 falcor 路由器以获取所有可用的 ID?
我正在尝试使用 Falcor 来支持Guild Wars 2 API,并希望用它来显示游戏项目的详细信息。我对构建一个可以使用多个数据源来组合不同 API 的结果的路由器特别感兴趣。
问题是,激战 2 中的物品 ID不是连续的。这是一个例子:
所以我不能像这样在客户端上写路径,items[100..120].name
因为几乎可以肯定该列表中会有一堆漏洞。
我尝试向我的路由器添加一条路由,这样我就可以 request items
,但这会将它发送到客户端上的无限循环中。您可以在 GitHub 上看到该尝试。
关于构建这个的正确方法的任何指针?当我想得更多时,也许我想要item.id
呢?
javascript - Falcor 路由特定中间件
给定在服务器上运行的以下路由器类:
以及浏览器中的以下路径查询(我使用的是 falcor-http-datasource):
我得到了正确的数据:
我的问题是,在服务器上,是否有一种方法可以让我访问 falcor 通过线路发送回浏览器以响应此获取路由请求的实际结果?
我的用例是我想一起注销两条数据:
- 路由通过的 pathSet。
- falcor 通过网络发回的 json 结果。
我在想它可能看起来像这样:
只是要清楚。我知道我可以在客户端获得结果,但我想将它们通过管道传输到服务器的其他地方。
falcor - 为深度路径构建 falcor 路由器的有效方法?
我正在继续我的 falcor实验并享受其中的大部分内容,但我注意到了一些令人担忧的事情。
我正在从多个不同的 API 组装我的 JSONGraph,这正是我falcor-router
想要做的。但是,我似乎无法找到一种方法来干净地为不需要特殊处理的字段提供包罗万象的方法,而不会炸毁任何需要进行特殊处理的路线。
我的路线如下所示:
items[{integers:ids}].name
items[{integers:ids}][{keys:fields}]
无论我在通用中声明路线的顺序如何,总是会获胜。有没有比像这样构建我的路线的全核选项更好的方法来避免这种情况?
items[{integers:ids}].name
items[{integers:ids}]['fooga', 'wooga', 'booga', 'tooga', ... ]
这似乎很脆弱,如果来自后备服务器的数据发生变化,我不仅要更新我的应用程序代码,还要更新我的路由器。如果你有深度嵌套的对象,随着排列的数量迅速攀升,它也会变得一团糟。
node.js - 为什么 Falcor 的 setValue() 不适用于外部模型?
在本地Falcor模型上使用setValue()时,它按预期工作,但是当模型移动到服务器时,会出现“500(内部服务器错误)”。
下面的示例正常工作(脚本在浏览器中运行)
但是当将此设置更改为远程 Falcor 模型时,它会失败。(脚本在浏览器中运行)
使用以下节点脚本(脚本在服务器上运行):
控制台中的错误消息(何时setValue()
调用):
falcor - 为什么我不能在 Falcor 路由器响应中返回对象?
如果我使用 netflix/falcor 上的 README 中的示例,则可以:
return {path:['greeting'], value: 'Hello World'};
但是,如果我尝试将值更改为对象:
return {path:['greeting'], value: {hello: 'Hello World'}};
它似乎不起作用。我可能在做一些明显错误的事情,但我想得到一些澄清。
falcor - FalcorJS 路由器是否支持返回承诺?
在示例中(据我所知,也许我错过了路由器示例中的一些微妙之处),原始值是从 get 函数返回的。有没有办法在 get 函数中返回回调或承诺?最好的方法是什么?
现在,我猜我使用 Q.defer?
falcor - Falcor 路由器是否实施路由排名?
在研究 Faclor 路由器时,我非常喜欢 KeySets 的功能,它允许路由以任意组合匹配一组实体键,但这让我对路由排名感到好奇。
如果我有路线:"titlesById[{integers:titleIds}]['name','year']"
和另一条路线:"titlesById[{integers:titleIds}]['name']"
当我只请求name
密钥时,Falcor 路由器如何确定要使用的路由。我担心的是,当访问多个键而不是单个键时,您可能有更有效的数据访问策略。
falcor - 有哪些 Falcor 路由器实施方案?
是否有针对各种编程语言的 Falcor 路由的现有服务器端实现?
falcor - 如何使用 Falcor 从客户端发送身份验证令牌
现在我在客户端上有以下代码:
我完全理解如何使用 falcor-router 类在服务器端处理令牌。我的问题是如何通过浏览器的每个请求发送令牌(如何更改上面的代码)?我只是找不到任何信息。一旦 falcor 向开发人员隐藏网络,我希望它有一些 HTTP 请求选项。
我真的很感激这个答案。
falcor - 从 falcor 路由器返回数据和参考
我有一条路线可以返回有关用户帐户功能的详细信息:
还有一条路线可以返回有关特定功能的一般详细信息:
我不想将通用特征数据合并到特定于用户的数据中,因为这将是一堆数据重复,但我也希望能够在一个请求中获得所有数据
什么是构建我的路线/返回数据以便games[{keys:games}].features[{integers:indices}]
可以返回有用参考的聪明方法features[{integers:features}]
?
我试着像这样把它们分开:
但我想不出一种方法来解决.meta
引用而无需编写看起来像...features.0.meta.[name,max,...]
. 理想情况下, ref 只会返回一个原子,因为它是少量数据。