在处理网络服务数据中,为什么不需要 m.prop?
In Processing web service data, Why m.prop is not required?
Note that this getter-setter holds an undefined value until the AJAX
request completes.
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)
listEven
代码有效,因为 m.prop
和 m.request
returns 都是 GetterSetter
,但是当使用 m.request
时 GetterSetter
将填充从 promise 返回的值。挺方便的。
在最后一个例子中没有涉及 GetterSetter
,这是一个简单的 promise 用法。所以这三个例子都可以正常工作。要决定哪一个是最好的,你必须看你的具体情况。
Note that this getter-setter holds an undefined value until the AJAX request completes.
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)
listEven
代码有效,因为 m.prop
和 m.request
returns 都是 GetterSetter
,但是当使用 m.request
时 GetterSetter
将填充从 promise 返回的值。挺方便的。
在最后一个例子中没有涉及 GetterSetter
,这是一个简单的 promise 用法。所以这三个例子都可以正常工作。要决定哪一个是最好的,你必须看你的具体情况。