我在HotTowel项目中看到了以下代码。在以下代码中,然后的回调方法返回值 return vm.messabeCount = data;
(function () {
'use strict';
function dashboard(common, datacontext) {
vm.messageCount = 0;
function getMessageCount() {
return datacontext.getMessageCount().then(function (data) {
/******* Here ********/
return vm.messageCount = data;
});
}
}
})();
我想知道为什么&对谁有回报价值。这是一些标准做法吗?代码不能只是。
return datacontext.getMessageCount().then(function (data) {
vm.messageCount = data;
});
或
return datacontext.getMessageCount().then(function (data) {
vm.messageCount = data;
return;
});
答案 0 :(得分:2)
getMessageCount
是一个返回promise对象的函数。此承诺的then
方法再次返回另一个promise
。它可以链接多个then
部分。每个then(function() { ... })
都能够修改要传递给下一个then
调用的数据。所以这个结构:
return datacontext.getMessageCount().then(function(data) {
return vm.messageCount = data;
});
表示修改传递的数据以解决回调。如果没有此return
成功函数将使用未定义的值解决,而我们需要使用data
来解析它。