-1

我经常遇到这个问题,我的解决方案从来没有真正按照我想要的方式工作。基本上,我希望一个功能等到前一个功能完全运行完毕。
例如,我有一个 gps 定位功能,我希望在 gps 完成其任务后运行另一个功能。我没有为此添加任何代码,因为我想看看人们是如何在没有看到我的情况下做到这一点的,因为这是完全客观的。

我正在使用 phonegap、jquery-mobile 和 mkaing 混合应用程序。

4

2 回答 2

0

你为什么不能这样做?

func1();
func2();

如果它比这更复杂,也许你在问题的早期搞砸了。

于 2013-10-29T16:55:15.430 回答
0

您可以使用 $.Deferred:

function locate() { 
   var d = $.Deferred();
   locationService.start().then(function(position) {
       d.resolve(position);
   });
   return d;
}

locate().then(function(position) {
    console.log('Latitude: ' + position.Latitude + ' - Longitude: ' + position.Longitude);
});

jQuery Api 文档http://api.jquery.com/jQuery.Deferred/

于 2013-10-29T16:55:18.820 回答