function test() { $.ajax({ url:xxx, type:'GET', success:function(data) { data:data; function employee(data) { this.customer = function(){console.log(data)} } return new employee(data); } })}var p = new test()p.customer()//没有找到employee这个方法 想这样调用需要怎么做?
1 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
你这个问题有3个问题
1.异步操作后返回结果
2.return返回的其实是success函数,并不是test
3.var p = new test()
前面两个都是undefined的原因
解决办法:
一、 1.使用promise 或者async/await 2.ajax变同步 async:false二、 在上一步的基础上把return放在test 三、 这里不用再new了,因为return的时候已经构造了。
添加回答
举报
0/150
提交
取消