Поддерживает ли маршрутизатор FalcorJS возврат обещаний?

В примерах (насколько я могу судить, возможно, я пропустил некоторые тонкости в примерах маршрутизатора), необработанные значения возвращаются из функции get. Есть ли способ вернуть обратный вызов или обещание в функции get? Какой лучший способ сделать это?

На данный момент, я думаю, я использую Q.defer?

1 ответ

Примеры в документации по Falcor Router используют обещания. Например:

{
    route: 'user.["name", "surname"]',
    get: function(pathSet) {
        // pathSet is ["user", ["name"]] or ["user", ["surname"]] or ["user", ["name", "surname"]]
        if (this.userId == null) {
            throw new Error("not authorized");
        } 
        return userService.
            get(this.userId).
            then(function(user) {
                // pathSet[1] is ["name"] or ["surname"] or ["name", "surname"]
                return pathSet[1].map(function(key) {
                    return { path: ["user", key], value: user[key] };
                });
            });
    }
}

userService.get возвращает обещание и не является непосредственно потребляемой стоимостью. Так что все, что соответствует спецификации обещания, подойдет.

Другие вопросы по тегам