繁体   English   中英

如何使用 Angular/Typescript 在 promise 中返回特定值类型

[英]How to return a specific value type in a promise using Angular/Typescript

我被困在一些我认为应该很简单的事情上。 我们有一个接受输入的子组件:

@Input() accessories: { [key: string]: Accessory };

当组件初始化时,模板能够读取和显示值,但我们在组件中也需要它们,但它们不可用。 所以我们尝试使用 setTimeout 强制更改:

setTimeout(() => {
  var resultArray = this.accessories;

  if (this.accessories!= undefined) {
        accessories.forEach(x =>
            Object.keys(this.accessories).findIndex(key => {
                if (this.accessories[key].accessoryId == x.accessoryId && this.accessories [key].code == "RECORD") {
                    this.isRecord= true;
                }
            }))}}, 2000);

但是在我们需要它之后它仍然会触发。 我正在尝试实现一个 promise,我以前没有使用过它,因此正在寻找一些有关如何在可用时获取此变量的指导。 在继续该过程之前,我试图等待结果。

您可以像这样构造一个 Promise:

function foo() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const returnValue = 'foo';
      resolve(returnValue);
    }, 2000);
  });
}

function main() {
  foo().then(res => console.log(res)); // 'foo'
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM