如何使用Map()返回承诺数据

时间:2019-07-15 08:27:56

标签: javascript promise

我有个承诺,它会从http://someurl/credentials获取凭据。

const credentials = await this._axiosSomeVar.get(`/credentials/${serviceName}`)
return credentials

如您所见,我返回了promise对象。它也可以正常工作。但是现在我需要返回Map()对象,其中包含用户名和密码对。 像这样:

return new Map(credentials.data.username, credentials.data.password)

但这只是伪代码,不幸的是,在google中搜索并没有帮助我使其正常工作。

1 个答案:

答案 0 :(得分:0)

似乎有两个问题:一个函数将await await也用class App { constructor() { this._axiosSomeVar = axios; } async getUserMap() { const { data } = await this._axiosSomeVar.get("https://jsonplaceholder.typicode.com/users") // map user array to array of key-value arrays return new Map(data.map(user => [user.username, user.email])); } async main() { this.userMap = await this.getUserMap(); console.log(this.userMap); // check browser console to see actual map } } new App().main(); 调用,否则该函数不会返回结果,但是答应自己。

接下来,应该假设Map接收到包含键值数组的可迭代对象;它也只接受一个参数。

以下是使用占位符API的实时用户地图示例:

<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.0/axios.min.js"></script>
sqlalchemy