为什么通过将它作为参数传递给 .then 方法,我可以绑定一个预先存在的 getter-setter 吗?
Why by passing it in as a parameter to a .then method, can I do bind a pre-existing getter-setter?
You can bind a pre-existing getter-setter by passing it in as a
parameter to a .then method:
好的
var users = m.prop([]); //default value
m.request({method: "GET", url: "/user"}).then(users).then(function(data) {
console.log(data);
console.log(users());
});
NG
var users = m.prop([]); //default value
m.request({method: "GET", url: "/user"}).then(function(users) {
console.log(users);
console.log(users()); //Uncaught TypeError: users is not a function
});
为什么将它作为参数传递给 .then 方法,我可以绑定一个预先存在的 getter-setter 吗?
这个语法的规范是Promise?
要么
这个文法的规格是秘银?
※我可以理解m.prop()是getter-setter.
运行 内部针对 Promise 对象进行了什么样的处理?
实现是库代码的哪一部分?
这是正常 Promise 行为的一部分。传递给 then
的函数将在 Promise 解析并将 Promise 值传递给它时执行。一个 m.prop
是一个 getter/setter,它将把它的内部值设置为传入的任何值,然后 returns 它。
在第一个示例中,第一个 then
将 Promise 值分配给 users
,然后下一个 then
执行一个接收 Promise 值作为第一个参数的函数(data
), 并记录它,连同 users
的 return 值,这是一回事。
在第二个示例中,第二个 then
函数将其参数命名为 users
:这意味着在该函数中,users
指的是 Promise 值而不是 m.prop
.因为您已为变量指定了与 m.prop
相同的名称,所以您不能再引用那个 m.prop
。
You can bind a pre-existing getter-setter by passing it in as a parameter to a .then method:
好的
var users = m.prop([]); //default value
m.request({method: "GET", url: "/user"}).then(users).then(function(data) {
console.log(data);
console.log(users());
});
NG
var users = m.prop([]); //default value
m.request({method: "GET", url: "/user"}).then(function(users) {
console.log(users);
console.log(users()); //Uncaught TypeError: users is not a function
});
为什么将它作为参数传递给 .then 方法,我可以绑定一个预先存在的 getter-setter 吗?
这个语法的规范是Promise? 要么 这个文法的规格是秘银?
※我可以理解m.prop()是getter-setter.
运行 内部针对 Promise 对象进行了什么样的处理?
实现是库代码的哪一部分?
这是正常 Promise 行为的一部分。传递给 then
的函数将在 Promise 解析并将 Promise 值传递给它时执行。一个 m.prop
是一个 getter/setter,它将把它的内部值设置为传入的任何值,然后 returns 它。
在第一个示例中,第一个 then
将 Promise 值分配给 users
,然后下一个 then
执行一个接收 Promise 值作为第一个参数的函数(data
), 并记录它,连同 users
的 return 值,这是一回事。
在第二个示例中,第二个 then
函数将其参数命名为 users
:这意味着在该函数中,users
指的是 Promise 值而不是 m.prop
.因为您已为变量指定了与 m.prop
相同的名称,所以您不能再引用那个 m.prop
。