首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么通过将它作为参数传入.then方法,我可以绑定一个预先存在的getter-setter吗?

为什么通过将它作为参数传入.then方法,我可以绑定一个预先存在的getter-setter吗?
EN

Stack Overflow用户
提问于 2015-12-26 01:24:35
回答 1查看 74关注 0票数 1

您可以将预先存在的getter-setter作为参数绑定到.then方法中:

OK

代码语言:javascript
复制
var users = m.prop([]); //default value
m.request({method: "GET", url: "/user"}).then(users).then(function(data) {
    console.log(data);
    console.log(users());
});

NG

代码语言:javascript
复制
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吗?

这个语法的规范是有希望的吗?或者这个语法的规范是Mithril?

我能理解的m.prop()是getter-setter。

什么类型的处理在内部针对承诺对象运行的

实现是库代码的哪一部分?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-26 16:28:17

这是正常承诺行为的一部分。传递给then的函数将在允诺解析并将允诺值传递给它时执行。m.prop是一个getter/setter,它将它的内部值设置为传入的任何内容,并返回它。

在第一个示例中,第一个then将允诺值分配给users,下一个then执行一个函数,该函数接收允诺值作为第一个参数(data),并将其与users的返回值(这是相同的)一起记录下来。

在第二个示例中,第二个then函数将它的参数命名为users:这意味着在该函数中,users引用的是允诺值,而不是m.prop。因为您已经给变量赋予了与m.prop相同的名称,所以不能再引用该m.prop

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34467786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档