问题描述
我有一个包含单选按钮和确认按钮的对话框。
在点击确认按钮之前,我们不知道调用了什么函数。\
所以我创建了一个对象来引用回调函数,如下所示。
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 (将#修改为@)