gpt4 book ai didi

javascript - 如何使用 Promise 编写我的函数

转载 作者:行者123 更新时间:2023-11-28 14:56:19 24 4
gpt4 key购买 nike

我将 HTML(外部应用程序)加载到 iFrame

当某个元素在我的 iFrame 中可用时,我想“执行”某些操作(回调)。这是我的写法,我想用 Promises 来写:

function doWhenAvailable(selector, callback) {
console.warn("doWhenAvailable", selector)
if ($('#myiFrame').contents().find(selector).length) {
var elt = $('#myiFrame').contents().find(selector);
console.info("doWhenAvailable Found", elt)
callback && callback(elt);
} else {
setTimeout(function() {
doWhenAvailable(selector, callback);
}, 1000);
}
}

实际上,我不想使用 setTimeout,而是使用 setInterval 重复“查找元素”,直到找到它并解决“ promise ”。

最佳答案

不,您不会使用setInterval,您只需将超时包装在 promise 中并删除回调:

function wait(t) {
return new Promise(function(resolve) {
setTimeout(resolve, t);
});
}
function whenAvailable(selector) {
var elt = $('#myiFrame').contents().find(selector);
if (elt.length)
return Promise.resolve(elt);
else
return wait(1000).then(function() {
return whenAvailable(selector);
});
}

关于javascript - 如何使用 Promise 编写我的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42673186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com