我在 Chrome 中使用 ES6 javascript 承诺,并且无法理解为什么在函数 _getStatus()中执行的承诺没有在成功处理程序中返回 结果参数,这将导致包含“完成”的警报框。相反,我收到一个警告框,上面写着“未定义”。
myNameSpace = function(){
var obj = {
groupA: {
status: "inactive"
},
groupB: {
status: "active"
}
};
function _getStatus(group){
_finishTask().then(function(result){
return result; // doesn't return anything
});
}
function _finishTask(){
var promise = new Promise(function(resolve, reject){
// do some task before resolving
resolve("done");
});
return promise;
};
return{
getStatus:_getStatus
}
}();
$(function(){
alert(myNameSpace.getStatus("groupA")); // why is this "undefined" instead of "done"?
});