兑现承诺后如何调用解决方案

问题描述

我有一个包含单选按钮和确认按钮的对话框。
在点击确认按钮之前,我们不知道调用了什么函数。\

所以我创建了一个对象来引用回调函数,如下所示。

var context = {
 callback: undefined;
 resolve: undefined;
 reject: undefined;
}

dialog.open = function(callback){
 context.callback = callback;
 
 return new Promise((resolve,reject) =>{
  context.resolve = resolve;
  context.reject = reject;
 }) 
}

确认函数是这样的;

function confirm () {
 if(radio.value === "test") callA();
 else callB();
}

function callA() {
  context.callback("A");
  context.resolve("A");
}

function callB() {
  context.callback("B");
  context.resolve("B");
}

然后我调用 dialog.open()

dialog.open((res) => {
 console.log(res)
}).then((res) => {
 console.log(res)
})

我多次点击确认按钮进行测试。 每当点击时都会调用回调,但会调用一次 resolve(then)。

是否可以 promise.then 像回调一样工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)