我在 HotTowel 项目中看到了以下代码。在以下代码中,then 的回调方法返回值 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;
});
}
}
})();
我想知道为什么以及它向谁返回值(value)。这是一些标准做法吗?代码不就可以了吗?
return datacontext.getMessageCount().then(function (data) {
vm.messageCount = data;
});
或者
return datacontext.getMessageCount().then(function (data) {
vm.messageCount = data;
return;
});
最佳答案
getMessageCount
是一个返回 Promise 对象的函数。此 Promise 的 then
方法再次返回另一个 promise
。它使得链接多个 then
部分成为可能。每个 then(function() { ... })
都能够修改要传递给下一个 then
调用的数据。所以这个结构:
return datacontext.getMessageCount().then(function(data) {
return vm.messageCount = data;
});
表示修改传递的数据以解析回调。如果没有这个return
,成功函数将使用未定义的值来解析,而我们需要它使用data
来解析。
关于javascript - return 将值返回给谁(javascript)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23315473/