【发布时间】:2020-06-25 05:47:53
【问题描述】:
我尝试将 axios 数组(作为承诺)传递给函数。当我调用该方法时,我需要执行这些承诺。
const arrayOfAxios = [
axios('https://api.github.com/')
]
setTimeout(() => {
console.log('before call promise');
Promise.all(arrayOfAxios).then(res => {
console.log({ res });
});
}, 5000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.js" integrity="sha256-bd8XIKzrtyJ1O5Sh3Xp3GiuMIzWC42ZekvrMMD4GxRg=" crossorigin="anonymous"></script>
在我的代码中,我可以立即看到 https://api.github.com/。而不是当我调用 promise.all 时。
我做错了吗?还有另一种设置承诺数组并稍后调用它们的方法吗? (我的意思是一个 axios 的例子)
【问题讨论】:
-
承诺已经执行。您不会先创建一个 Promise 对象,然后再“启动”它。这个过程是你首先启动一个异步操作,然后你得到一个 Promise。
-
为什么不只传递 url?并在你想要的时候执行它们......
标签: javascript promise axios es6-promise