Я получил следующие пути, определенные на маршрутизаторе:
getProjectById[{keys:ids}][{keys:props}]
projects[{ranges:ranges}][{keys:props}]
На клиенте я могу успешно получить индивидуальные проекты с помощью следующего запроса:
model.get(
['getProjectById', 'ffd38a56-cca2-11e5-9e6a-695c9890612f', 'name'],
['getProjectById', 'ffd38a55-cca2-11e5-9e6a-695c9890612f', 'name']).then((data) => {
console.log('valid json response ->', data);
});
'projects' route возвращает ссылку на каждый отдельный проект, но когда я делаю следующий запрос, я получаю undefined как мой ответ:
model.get(['projects', { from: 0, to: 2}, ['name', 'overview']]).then((data) => {
console.log('response is undefined ->', data);
});
Конечной сервер возвращает обещание, когда это, наконец, решает он содержит следующий массив путей:
[
{ path: ['projects', 0], value: { $ref(['getProjectById', 'ffd38a56-cca2-11e5-9e6a-695c9890612f'] }},
{ path: ['projects', 1], value: { $ref(['getProjectById', 'ffd38a55-cca2-11e5-9e6a-695c9890612f'] }},
{ path: ['projects', 2 ], value : { $atom(undefined) }
]
Согласно документации, это должно выполнять второстепенный удар по маршруту «getProjectById» проходящей в массиве идентификаторов, но это никогда не запускается.
Update Я раскалывался под капотом, и, похоже, маршрутизатор Falcor проходит только то, что на самом деле находится в кеше. Я обновил ** project ** endpoint, чтобы вернуть дополнительный путь и значение для 'getProjectById', и это перемещается вокруг проблемы. – Jake
Корневая проблема сводилась к ** проектам [{диапазоны: диапазоны}] [{keys: props}] ** удаление конечной точки ** [{ключ: реквизит}] ** решает эту проблему. – Jake