【问题标题】:Jquery- Handling promise objectJquery-处理承诺对象
【发布时间】:2020-04-13 15:12:02
【问题描述】:
var xyz = chart.exporting.getImage("png").then(function (imgdata) {

});

上面的函数xyz是一个很有前途的对象如何获取对象是否已满 根据promiseStatus,参考图片。

填满后我想执行下面的代码

   var image = imgdata.replace('data:image/png;base64,', '');


                    jQuery.ajax({

                                type: "POST",
                                contentType: "application/json; charset=utf-8",
                                url: "VATReportGeneration.aspx/SetImageInSession",
                                data: JSON.stringify({ "image": image }),
                                dataType: "json",
                                success: function (data) {

                                    if (data != '') {
                                        jQuery.ajax({
                                            type: 'POST',
                                            cache: false,
                                            url: file,
                                            success: function (data) {

                                                url = '';
                                                url = "../../ReportHandler/VATConfigurationFileHandler.aspx";
                                                file = '';
                                                file = url + "?ReportByte=1";
                                                $get("exporthandler").src = file;
                                                chart.dispose();
                                                document.getElementById('loading').style.display = "none";
                                                //document.getElementById('loading').style.display = "none";
                                            },
                                            error: function (data) {

                                                //document.getElementById('loading').style.display = "none";
                                            }
                                        });
                                    }

                                }

                    });

控制台。请帮我。提前致谢。

【问题讨论】:

  • 要promisify ajax方法吗?
  • @Supercool。 XYZ 有前途的对象是从插件中引用的。一旦完成,imgdata 将返回 base64 字符串,我需要将该图像传递给“VATReportGeneration.aspx/SetImageInSession”,并且这些脚本应该同步执行。
  • 这个插件是什么?
  • @lndgalante 我无法理解,但让我解释一下 imgdata 返回 base64 字符串,我想将该 imgdata 作为参数传递给 ajax 调用 'VATReportGeneration.aspx/SetImageInSession' 但在返回之前完整的 base64 字符串它将部分 base64 字符串传递给 ajax 调用。请帮帮我兄弟。提前致谢!!!

标签: javascript c# jquery ajax promise


【解决方案1】:

.then中写入你的图像数据imgdata处理逻辑代码

更多:https://www.amcharts.com/docs/v4/concepts/exporting/#Triggering_export

  chart.exporting.getImage("png").then(function (imgdata) {
     var image = imgdata.replace('data:image/png;base64,', '');
     //your ajax call and other logic here
     ......
     .......
   }

【讨论】:

  • 我已经编写了您指定的逻辑,但 imgdata 仅返回部分数据。例如:256kb 的数据,它只返回 36kb 的数据。我可以在将所有 sn-p 代码以 3000 毫秒的时间放入 setTimeout 函数中时获取完整数据,但它需要 5000 毫秒或 8000 毫秒,这取决于数据。当我设置 3000 毫秒时,它会返回部分数据。
  • 你最初的问题是处理承诺
  • 是的,一旦承诺已满,那么我想使用 ajax 调用
【解决方案2】:

我终于从我的同事那里得到了答案,通过将一个图表对象从回调函数传递给一个回调函数我已将图表转换为 64basestring。

【讨论】:

    猜你喜欢
    • 2019-09-30
    • 1970-01-01
    • 2017-12-14
    • 2017-01-20
    • 2022-01-22
    • 1970-01-01
    • 2011-06-30
    • 2018-10-12
    相关资源
    最近更新 更多