例では (私が知る限り、ルーターの例でいくつかの微妙な点を見逃している可能性があります)、生の値が get 関数から返されます。get 関数でコールバックまたはプロミスを返す方法はありますか? それを行う最善の方法は何ですか?
今のところ、私は Q.defer を使用していると思いますか?
例では (私が知る限り、ルーターの例でいくつかの微妙な点を見逃している可能性があります)、生の値が get 関数から返されます。get 関数でコールバックまたはプロミスを返す方法はありますか? それを行う最善の方法は何ですか?
今のところ、私は Q.defer を使用していると思いますか?
Falcor Router のドキュメントの例では、promiseを使用しています。例えば:
{
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
プロミスを返し、直接消費可能な値ではありません。したがって、promise 仕様に準拠していれば何でも構いません。