nhn / toast-ui.vue-image-editor

Toast UI Image Editor for Vue
MIT License
186 stars 41 forks source link

method "loadImageFromURL" not callback #33

Open PandexLee opened 4 years ago

PandexLee commented 4 years ago

Current Behavior

Loading image error, but not callback reject

//  my code
    this.$refs.tuiImageEditor.invoke('loadImageFromURL', this.img, 'checker_image').then((result, error) => {
      this.$emit('cancel_loading')
      console.log('loadImageFromURL',result,error)
    }).catch((e) => {
      console.log('load iamge error',e)      // not call
      this.$emit('cancel_loading')
    });

In tui-image-editor.js

{
            key: '_setBackgroundImage',
            value: function _setBackgroundImage(img) {
                var _this3 = this;

                if (!img) {
                    return _promise2.default.reject(rejectMessages.loadImage);
                }

                return new _promise2.default(function (resolve, reject) {
                    var canvas = _this3.getCanvas();

                    canvas.setBackgroundImage(img, function () {
                        var oImage = canvas.backgroundImage;

                        if (oImage.getElement()) {     // when the oImage is null, it won't go down, no resolve and reject
                            resolve(oImage);
                        } else {
                            reject(rejectMessages.loadingImageFailed);
                        }
                    }, imageOption);
                });
            }

Expected Behavior

Add condition in _setBackgroundImage

{
            key: '_setBackgroundImage',
            value: function _setBackgroundImage(img) {
                var _this3 = this;

                if (!img) {
                    return _promise2.default.reject(rejectMessages.loadImage);
                }

                return new _promise2.default(function (resolve, reject) {
                    var canvas = _this3.getCanvas();

                    canvas.setBackgroundImage(img, function () {
                        var oImage = canvas.backgroundImage;

                        if (oImage && oImage.getElement()) {     //  add variable condition
                            resolve(oImage);
                        } else {
                            reject(rejectMessages.loadingImageFailed);
                        }
                    }, imageOption);
                });
            }