jQuery的承诺

时间:2019-02-04 16:37:11

标签: javascript jquery

我有这个javascript函数,可使用jspdf创建一个pdf文件,我需要可以通过两个事件(按钮单击和Modal.open)进行访问。该pdf函数需要从ajax调用中获取数据,然后创建pdf并将其传递给调用函数(事件)。

调用功能:

$('#LabelsModal').on('show.bs.modal', function () {
        createLabels(function (labels) {
            // Labels is undefined here
            $('#labels').html("").attr("src", labels.output('bloburl'));
        });
    });

函数createLabels(如何将pdf传递给父函数?)

function createLabels() {
        getLabelData().done(function (labels) {
            // Here is the labels defined and OK
            var pdf = new jsPDF('l', 'mm', [150, 100]);
            pdf.setFontSize(12);
            pdf.setFont('helvetica', 'normal');
            pdf.text(1, 5, "Test");

            return pdf; //Doesnt work
        })
}

最后是使用ajax获取数据的函数(这可行):

function getLabelData() {
        return _myService.getDataForLabels({ Id: id });
}

0 个答案:

没有答案