javascript - 如何在同步 java 脚本中打印异步操作的响应?
问题描述
你能告诉我如何在javascript中同步打印异步操作的响应吗?
我有3
异步调用的承诺,但我知道要同步获取数据,Promise.all
但是当任何一个承诺失败时它都会失败。我需要它显示那些已解决的承诺。其次是asyn await
异步block
请求。
所以它有任何其他方法可以做意味着我们异步触发多个请求并同步获取数据打印所有已解决的承诺。
我试过这样
// Import stylesheets
import './style.css';
// Write Javascript code!
let promises =[]
const appDiv = document.getElementById('app');
appDiv.innerHTML = `<h1>JS Starter</h1>`;
var promise1 = new Promise(function(resolve, reject) {
setTimeout(resolve, 1000, 'foo');
});
var promise2 = new Promise(function(resolve, reject) {
setTimeout(resolve, 2000, '222foo');
});
var promise3 = new Promise(function(resolve, reject) {
setTimeout(reject, 2000, 'reject');
});
// Promise.all([promise1,promise2]).then((result)=>{
// appDiv.innerHTML ='a::' +result[0] + 'b::'+result[1]
// }).catch(reason => {
// console.log(reason)
// appDiv.innerHTML =reason
// });
promises.push(promise1);
promises.push(promise2);
promises.push(promise3);
Promise.all(promises.map((promise, i) =>
promise.catch(err => {
throw err;
})
)).then(results => {
console.log("everything worked fine, I got ", results);
}, err => {
console.error("promise No failed with ", err);
});
https://stackblitz.com/edit/js-l1cfac
任何更新
解决方案
推荐阅读
- css - 如何在 Production Build Vue 上安排 CSS 顺序?
- amazon-web-services - 如何扩展 AWS 应用程序负载均衡器?
- android - 在 Android Studio 中构建并运行旧的 Android 项目
- python - 通过环境设置恢复 rcdefaults
- python - 优先考虑多个正则表达式模式
- python - 如何在 Python 的 Matplotlib 中绘制嵌套饼图?
- python - 在 Python 中为方法动态选择正确的参数
- java - 使用分隔符分隔模式
- ios - Media-soup ios客户端远程视频未显示
- python - Makefile:使用 -j 选项时目标的配方失败