【发布时间】:2021-06-01 16:13:43
【问题描述】:
我有一个包含单选按钮和确认按钮的对话框。
在单击确认按钮之前,我们不知道调用了什么函数。\
所以我创建了一个对象来引用回调函数,如下所示。
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 可以像回调一样工作吗?
【问题讨论】:
标签: javascript promise callback q