angular - 以角度发出女巫异步(列出来自 Web Api 的元素)
问题描述
这是代码片段:
this.languages = await this.languageService.getAllLanguages().toPromise()
this.languages.forEach(async (value, index) => {
console.log(value.name)
this.originLanguageOption.setDropdownOption (
value.name,
index
)
this.originLanguageOptions.push(
this.originLanguageOption
)
})
this.originLanguageDropdown.setDropdown(
'Origin language',
'Choose Language',
this.originLanguageOptions
)
问题:控制台日志工作正常,它只是列出了数据库中的所有元素,但是当我尝试将数据分配给“this.originLanguageOptions”时,它会覆盖列表中的所有先前元素。数组看起来像:第一个循环:
- 英语
第二个循环:
- 德语
- 德语
第三个循环:
- 法国
- 法国
- 法国
等等
它应该看起来像这样:第三个循环
- 英语
- 德语
- 法国
解决方案
在 foreach 的每次迭代中,您都在同一实例上使用 setDropdownOption() 。我知道您应该在每次迭代中创建一个选项,然后将其添加到数组中。
推荐阅读
- python - 使用 spotipy 在烧瓶会话中存储 Spotify 令牌?
- sql-server - 如何在使用 OPENJSON WITH 时执行字符串函数?
- symlink - WSL:使用 Windows 中的 WSL 符号链接文件夹
- python-3.x - 如何让我的程序知道并响应按下的键
- r - RMarkdown - knitr - png 大小不会改变
- swift - 重载 == 运算符为 != 调用父函数
- php - 如何在 PHPMailer 成功消息中包含 html div 或 php?
- c# - 奇怪的反序列化异常
- laravel - FontAwesome 图标没有正确堆叠
- python - 抓取必应翻译的问题