我必须返回承诺的方法。 我想在第一个获取和操作数据后执行第二个方法。 这个问题已被多次询问,仍然无法找到使其工作的方法。 这是我的代码:
self.getSpesialitet = function () {
console.log("Starting Spesialitet");
return $.get(options.getSpesialitetUrl, { 'recno': recno }, function (data) {
////Code
console.log("Success Spesialitet");
});
};
self.getVedtak = function () {
console.log("Starting Vedtak");
return $.get(options.getVedtakUrl, { 'recno': recno }, function (data) {
////Code
console.log("Success Vedtak");
});
};
$.when(self.getSpesialitet()).then(self.getVedtak()).then(console.log("Everything is done"));

这是我得到的结果:
Starting Vedtak
Starting Spesialitet
Everything is done
Success Vedtak
Success Spesialitet
我想得到的结果:
Starting Vedtak
Success Vedtak
Starting Spesialitet
Success Spesialitet
Everything is done
答案 0 :(得分:1)
您可以使用success
来调用函数,例如:
self.getVedtak().success(function(){
self.getSpesialitet().success(function(){
console.log('Everything is done');
})
})
答案 1 :(得分:0)
请理解ValidationError
,$.get
和$.post
调用始终是异步调用。这就像火和忘记。它不会等到执行完成。为了使代码有效,您需要在第一个方法返回时调用第二个方法。