如何解决Promise.then仅在服务器上不是函数错误
我正在可以正常工作的本地运行以下代码,但是在服务器上出现此错误:
承诺。那不是一个功能
let promise = null;
if (this.fileUrl) {
promise = this.pdfJS.getDocument(this.fileUrl);
}
else if (this.base64FileData) {
const pdfData = atob(this.base64FileData);
promise = this.pdfJS.getDocument({ data: pdfData });
}
console.log('pretty');
console.log(promise);
promise.then(function (docObj) {
console.log('promistest');
console.log(docObj);
this._loadingEnd();
this.renderPages(docObj);
},this._onDocumentLoadError.bind(this)
);
解决方法
.getDocument
返回的对象不是promise,但是具有名为promise
的属性
因此
let promise;
if (this.fileUrl) {
promise = this.pdfJS.getDocument(this.fileUrl).promise;
} else if (this.base64FileData) {
const pdfData = atob(this.base64FileData);
promise = this.pdfJS.getDocument({ data: pdfData }).promise;
} else {
promise = Promise.reject('invalid state');
// this will be handled by `this._onDocumentLoadError.bind(this)`
}
console.log('pretty');
console.log(promise);
promise.then(function (docObj) {
console.log('promistest');
console.log(docObj);
this._loadingEnd();
this.renderPages(docObj);
},this._onDocumentLoadError.bind(this));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。