如何使用Promise.All()执行异步诺言?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Promise.All()执行异步诺言?相关的知识,希望对你有一定的参考价值。
我想问,您如何在所有应许中运行Ascyronus应许?当我运行Promise.all的函数时,all会并行运行所有函数(syncronus)
如果运行下面的代码,则结果为
// jon
// andrey
// tania
// JON
// ANDREY
// TANIA
这是我的代码
// First promise returns an array
const getUsers = () =>
return new Promise((resolve, reject) =>
return setTimeout(() => resolve([ id: 'jon' , id: 'andrey' , id: 'tania' ]), 600)
)
// Second promise relies on the resulting array of first promise
const getIdFromUser = users =>
return new Promise((resolve, reject) =>
return setTimeout(() => resolve(users.id), 500)
)
// Third promise relies on the result of the second promise
const capitalizeIds = id =>
return new Promise((resolve, reject) =>
return setTimeout(() => resolve(id.toUpperCase()), 200)
)
const newPromise = async user =>
const userId = await getIdFromUser(user)
console.log(userId) //jon
const capitalizedId = await capitalizeIds(userId)
console.log(capitalizedId) //JON
return
const runAsyncFunctions = async () =>
const users = await getUsers()
await Promise.all(users.map(user => newPromise(user)))
runAsyncFunctions()
但是我想要下面的结果,如果promise全部运行异步,那么它将起作用。>
// jon // JON // andrey // ANDREY // tania // TANIA
这是我的playgorund代码https://repl.it/repls/CalculatingAwfulComputerscience
我想问,您如何在所有应许中运行Ascyronus应许?当我运行Promise的函数时,如果您运行下面的代码,则所有并行运行所有函数(syncronus),然后...
答案
如果您只想在最后一个Promise完成后才初始化Promise,也就是说,请在serial
以上是关于如何使用Promise.All()执行异步诺言?的主要内容,如果未能解决你的问题,请参考以下文章