如何从函数返回promise:facebookConnectPlugin.api(String requestPath,Array permissions,Function success,Function failure)

时间:2014-09-14 11:31:11

标签: angularjs angular-promise

我有功能

 facebookConnectPlugin.api(String requestPath, Array permissions, Function success, Function failure)

我从facebook的phonegap API获得的。 我创造了成功和失败的功能。 我需要等待成功/失败结束然后继续。 怎么办?

1 个答案:

答案 0 :(得分:2)

您可以这样做:

apiWithPromise: function(requestPath, permissions) {
    var task = $q.defer();
    facebookConnectPlugin.api(requestPath, permissions, function(data) {
        // do something with your data here
        task.resolve(data);
    }, function(error) {
        // handle your error here
        task.reject(error);
    });
    return task.promise;
}

显然,您需要将其包含在服务或类似内容中,并引用facebookConnectPlugin。您需要声明$q

的依赖关系