js 异步

var fnParam = null;

var a = {
    fn: param => {
        // 加载真实函数
        fnParam = param;
    }
};

var pm = () =>
    new Promise(resolve => {
        a.fn({
            callback(data) {
                console.log('使用方fn参数callback执行,resolve执行');
                resolve(data);
            }
        });
    });

pm().then(a => {
    console.log(a, 'fn 回调的值');
});

setTimeout(() => {
    // fn 加载完成
    a.fn = p => {
        if (p.callback) {
            p.callback({
                a: 'a',
                b: 'b',
                c: 'c'
            });
        }
    };
    a.fn(fnParam);
}, 2000);
posted @ 2022-08-11 15:19  Running00  阅读(17)  评论(0编辑  收藏  举报