亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

window.location.href 在 forEach 二次迭代中不起作用

window.location.href 在 forEach 二次迭代中不起作用

慕容3067478 2022-01-07 21:40:00
我正在嘗試使用 window.location.href 下載多個文件。我從 s3 獲取文件 url 并推送到具有鏈接的數組中。它只在第一次迭代中工作。在第二次迭代中,文件不下載但迭代發生。提前致謝。var urls = [    "https://www.s3.com/files1",    "https://www.s3.com/files2",    "https://www.s3.com/files3"];urls.forEach(url => {    window.location.href = url;})
查看完整描述

2 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

考慮 fetch 或其他一些 API 來發出 XHR 請求。之后,為每個調用指定要返回的內容(我輸入了 blob 類型)。


完成所有操作(獲取承諾)后,您應該得到結果(res)。如果出現任何問題,請在 catch 塊內處理它。


let arr = [];

const urls = [

  "https://www.s3.com/files1",

  "https://www.s3.com/files2",

  "https://www.s3.com/files3"

];




Promise

  .all(urls.map(url => fetch(url).then(res => res.blob())))

  .then(res => {

    console.log('files here', res);

  }).catch(err => console.log('error occured while fetching', err))


查看完整回答
反對 回復 2022-01-07
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

在第一次迭代中,url 發生了變化,然后瀏覽器不再運行您編寫的腳本。

它運行與當前活動的新 url 相關聯的腳本。即“ https://www.s3.com/files1 ”在您的情況下。

正確的方法是使用 fetch 或 axios 來訪問這些 url。


查看完整回答
反對 回復 2022-01-07
  • 2 回答
  • 0 關注
  • 345 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號