多个 jQuery 使用 async/await 模式并行获取
Multiple jQuery gets in parrallel using the async/await pattern
我想使用 jQuery 和 Javascript 中的 async/await 模式并行访问三个 api 方法。三个调用的结果应该写入 Knockout Observable。我创建了以下代码:
await Promise.all([
(async() => vm.allHaulers(await $.get(baseAddress + 'GetCompleteHaulerList')))(),
(async() => vm.allPlants(await $.get(baseAddress + 'GetCompletePlantList')))(),
(async() => vm.allTrailers(await $.get(baseAddress + 'GetCompleteTrailerList')))()
]);
所有支架看起来都非常笨重。有没有更优雅的解决方案?
只需使用 $.get
返回的 Promise 的 .then
await Promise.all([
$.get(baseAddress + 'GetCompleteHaulerList').then(vm.allHaulers),
$.get(baseAddress + 'GetCompletePlantList').then(vm.allPlants),
$.get(baseAddress + 'GetCompleteTrailerList').then(vm.allTrailers)
]);
有时 "old" 工具效果更好 :p
我想使用 jQuery 和 Javascript 中的 async/await 模式并行访问三个 api 方法。三个调用的结果应该写入 Knockout Observable。我创建了以下代码:
await Promise.all([
(async() => vm.allHaulers(await $.get(baseAddress + 'GetCompleteHaulerList')))(),
(async() => vm.allPlants(await $.get(baseAddress + 'GetCompletePlantList')))(),
(async() => vm.allTrailers(await $.get(baseAddress + 'GetCompleteTrailerList')))()
]);
所有支架看起来都非常笨重。有没有更优雅的解决方案?
只需使用 $.get
返回的 Promise 的 .thenawait Promise.all([
$.get(baseAddress + 'GetCompleteHaulerList').then(vm.allHaulers),
$.get(baseAddress + 'GetCompletePlantList').then(vm.allPlants),
$.get(baseAddress + 'GetCompleteTrailerList').then(vm.allTrailers)
]);
有时 "old" 工具效果更好 :p