如何将异步回调结果作为调用方法返回值

时间:2014-04-30 13:56:31

标签: javascript cordova asynchronous

我正在开发phonegap插件。我想在另一个简单的javascript方法(比如JSmethod())中调用一个插件方法(比如A(callback1,callbackerror)),一旦我从插件方法(A()的callback1得到结果)我想返回结果来自调用方法(来自JSmethod()返回值)。

我使用了一些jQuery文档来实现$ .Deferred(),但无法按预期返回值。 示例代码:

function JSmethod(){

  //jQuery API
  var deferred = $.Deferred();

  //calling phonegap plugin javascript method with success and fail callbacks.
  plugin.getProperties(function(result){

     deferred.resolve(result);//return result from plugin method.

  },function(){},params);



return deferred.promise();//result need to returned here

}

任何人都可以帮助我。

提前致谢。

0 个答案:

没有答案