关于父子组件、promise

在子组件中写了一个方法,其中包括以下代码,让父组件使用load方法,

img

但是这里的resolve怎样才能知道它加载完成了?我打印resolve返回的是这个:

img

或者说我应该在父组件怎样返回,子组件就能运行then里边的代码了?感谢回答

假设这里是你的父组件页面, loadEvt方法中参数就是resolve,只要执行了resolve(),子组件里面的then就会触发执行

<template>
    <child @load="loadEvt"></child>
</template>
<script>
export default {
    methods: { // 定义函数
        loadEvt (resolve) {
            setTimeout(() => {
                // 你的逻辑
                resolve()
            })
        }
    }
}
</script>

promise 是一个构造器,你要把NEW 的promise赋值给某个变量a,通过a.then(res=>{res获得就是resolve那个回调函数传过来的参数}).catch(res=>{}) 这样去使用

首先,你可以通过new或者return方式把Promise这个类实例化,然后就是zai promise内部也就是(resolve,reject)=>{},这个函数体内,写上你的条件,符合条件的用resolve()返回,不符合的用reject()返回。你可以通过链式调用的方式也就是.then()来接收你要在reslove之后的操作,.catch()接收reject()的操作。你在then((response)=>{在这调用你的load()方法})。也可以使用async await这也是我比较常用的