下面的函数首先执行同步比较
test == 0
,如果通过,则返回一些内容;如果未通过,则执行异步请求。我的意图是让后者返回其他内容,例如“来自POST回调的某些东西”,但我知道我做错了。在不将Ajax请求更改为同步的情况下,是否有可能实现这一点?var value = function (test) {
if (test == 0) {
return 'value is zero ';
} else {
return $.post('/echo/html/', {
html: 'false ',
delay: .5
}, function (r1) {
console.log('r1', r1);
return 'something from post callback';
})
.done(function (r2) {
console.log('r2', r2);
return 'something from done callback';
});
}
}(1);
console.log(value);