Ada*_*han 1 javascript async-await
我正在尝试打开以下列表中的每个链接,并在页面加载后尝试执行一些操作。
流量应该是这样的
我有以下代码。它没有打开第一个链接,而是直接跳转到第二个链接并执行操作。我对 Js Async 不是很了解。
非常感谢您对此的帮助!
let lst = ["https://twitter.com/pinsky", "https://twitter.com/adamiqshan"]
lst.forEach( link => {
setTimeout(openLink(link), 5000)
})
function openLink(URL){
window.open(URL, "_self")
}
Run Code Online (Sandbox Code Playgroud)
将您的工作代码包装在承诺中。如果你完成了你的工作,就兑现承诺。
建立一个承诺链/堆栈并执行它。
let lst = ["https://twitter.com/pinsky", "https://twitter.com/adamiqshan"]
let wrapper = lst.map((url) => {
return () => {
return new Promise((resolve) => {
// do your work here
// when your are done, call resolve()
// so the next url will be proceeded
console.log("proceed", url);
setTimeout(resolve, 5000);
});
};
});
// create promise stack
wrapper.reduce((prev, cur) => {
return prev.then(cur);
}, Promise.resolve());Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |