前端 vue 开发遇到一个需求,点击按钮打开弹层组件,在打开弹层之前需要调一个接口,根据接口返回的状态展示弹层的内容。
<popup :before-open="getInfoFun" :is-before-open="true"/> getInfoFun() { return new Promise((resolve, reject) => { // ajax getInfo().then((response) => { const { code, data } = response; if (code === "0") { this.data = data resolve(true); } }) .catch((error) => { reject(false); }); }); },
进入到弹层组件:
props: { // 是否需要调用 beforeOpen 方法,false 不调用 isBeforeOpen: { type: Boolean, default: false, }, // 打开弹层之前是否需要调用异步方法 beforeOpen: { type: Function, required: false, default: null }, } // 打开弹层之前的操作 async beforeOpenFun() { // 打开弹层之前需要调接口 if (this.isBeforeOpen) { // res:为 boolean 值,true/false const res = await this.beforeOpen(); this.visible = res; } else { // 直接打开弹层 this.visible = true; } },
以上就是 js 使用 return new Promise 写一个异步 根据接口返回的状态展示弹层的内容的详细内容,更多请关注其它相关文章!