we-plugin / we-cropper

微信小程序图片裁剪工具
https://we-plugin.github.io/we-cropper/#/
MIT License
2.18k stars 451 forks source link

[Bug Report] 钩子函数有顺序问题 #159

Open gexin1 opened 4 years ago

gexin1 commented 4 years ago

we-cropper 版本

0.1.0

对应工具或者iOS或者Andriod的版本号

android

微信版本号

2.9.4

重现步骤

function observer () {
  var self = this;
  self.on = function (event, fn) {
    if (EVENT_TYPE.indexOf(event) > -1) {
      if (tools_7(fn)) {
        event === 'ready'
          ? fn(self)
          : self[("on"   (firstLetterUpper(event)))] = fn;
      }

    } else {
      console.error(("event: "   event   " is invalid"));
    }
    return self
  };
}

当我ready写在beforeImageLoad 前边
我在ready回调中执行pushOrign方法 就会直接执行
此时 beforeImageLoad 还没有绑定到 onBeforeImageLoad
beforeImageLoad不会执行

期待的行为

在文档中强调一下钩子函数的执行顺序

实际的行为

gexin1 commented 4 years ago
      if (tools_7(fn)) {
        event === 'ready'
          ? Promise.resolve().then(()=>{fn(self)})
          : self[("on" + (firstLetterUpper(event)))] = fn;
      }

是否可以异步执行 ready 钩子函数