この getter-setter は、AJAX リクエストが完了するまで未定義の値を保持することに注意してください。
var users = m.prop([]); //default value
var doSomething = function() { /*...*/ }
m.request({method: "GET", url: "/user"}).then(users).then(doSomething)
ただし、次のコードは m.prop を使用しません。なんで?
デフォルト値を別の方法で設定していませんか?
//model
var User = {}
User.listEven = function() {
return m.request({method: "GET", url: "/user"}).then(function(list) {
return list.filter(function(user) {return user.id % 2 == 0});
});
}
//controller
var controller = function() {
return {users: User.listEven()}
}
上記のコードで問題がなく、次のコードでは役に立たない場合は?
var doSomething = function() { /*...*/ }
m.request({method: "GET", url: "/user"}).then(doSomething)