pdf.js - 返回角度承诺而不是javascript承诺

时间:2016-11-03 16:42:45

标签: javascript angularjs promise angular-promise pdf.js

我正在使用pdf.js.我想编写一个返回angular promise而不是pdf.js返回的本机javascript promise的包装器。到目前为止,这是我的代码。

this.hasPassword = function (url) {
  return PDFJS.getDocument(url, null, null, null).then(function (res) {
    if (res.pdfInfo) {
      return false;
    }

    return true;
  }, function (err) {
    return true;
  });
};

这回归是一个javascript承诺。如何让它回归角度承诺。我可以使用$ q.defer()并解决它并返回角度承诺吗?

1 个答案:

答案 0 :(得分:0)

我想你想做这样的事情:

function (url) {
    var deferred = $q.defer();
    PDFJS.getDocument(url, null, null, null).then(function (res) {
        if (res.pdfInfo) {
            deferred.resolve(false);
        }
        deferred.resolve(true);
    }, function (err) {
        deferred.reject(true);
    });
    return deferred.promise;
};