为了账号安全,请及时绑定邮箱和手机立即绑定

js 函数调用返回值?

js 函数调用返回值?

守着一只汪 2019-03-14 15:11:00
问题如下<input type="text" ng-model="roleName" bg-blur="checkRole(roleName)">var isCheck = false;function checkName(roleName) {    $http({        url: 'http://...',        type: 'post'            }).then(function(res){        isCheck = res.data[0] == 0 ? true : false;    }, function(err){        //    }).then(        return isCheck;    );    }$scope.checkRole = function (roleName) {    if(checkName(roleName)) {       ///     }}为什么这里 if(checkName(roleName))条件里面判断是 undefined,求原因?
查看完整描述

3 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

js是异步执行的。
需要转化为同步。

查看完整回答
反对 回复 2019-03-27
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

$scope.checkRole = function (roleName) {


var a = checkName(roleName);

if(a) {

   /// 

}

}


查看完整回答
反对 回复 2019-03-27
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

checkName方法中有异步, 所以当你调用的时候它还没有返回给你 你要的$http后接受到的数据, 在方法里面没有别的return 所以异步还没有return时 则方法默认为返回undefined. 
你想要这种功能的话 推荐你用async await

查看完整回答
反对 回复 2019-03-27
  • 3 回答
  • 0 关注
  • 754 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号