如何使用tyescript从Azure数据库中检索所有数据?

时间:2019-06-12 18:33:47

标签: typescript azure-storage

我用打字稿查询了azure存储表创建了一个CRUD应用程序。我可以从数据库中获得一条记录,但是还没有弄清楚如何检索所有数据。有什么帮助吗?这是获取单个记录并尝试获取所有记录的代码:

async getSystem(partitionKey: string, rowKey: string): 
Promise<Array<System>> {
    return new Promise<Array<System>>((resolve, reject) => {
      try {
        this.tableService.retrieveEntity<Array<System>>(
          this.tableName,
          partitionKey,
          rowKey,
          (err, entity) => {
            if (err){ reject(err) };
            resolve(this.tableRecordToJavacript(entity));
          }
        );
      } catch (err) {
        reject(err);
      }
    });
  }

      async getAllSystem(): Promise<Array<System>> {
    return new Promise<Array<System>>((resolve, reject) => {
      try {
        const query = new azure.TableQuery().top(100);
        this.tableService.queryEntities<Array<System>>(
          this.tableName,
          query,
          null,
          (err, entitites) => {
            if (err){ reject(err) };
            resolve(this.tableRecordToJavacript(entitites));
          }
        );
      } catch (err) {
        reject(err);
      }
    });
  }


  private tableRecordToJavacript(entity: Array<System>): Array<System> {
    let result: any = {};
    Object.keys(entity).forEach(k => {
      // we do not want to decode metadata
      if (k !== ".metadata") {
        let prop = Object.getOwnPropertyDescriptor(entity, k);
        if (prop) {
          result[k] = prop.value["_"];
        }
      }
    });
    return result;
  }

1 个答案:

答案 0 :(得分:0)

您的JavaScript是TypeScript:每个JavaScript程序也是TypeScript程序。 TypeScript为JavaScript代码提供了编译时类型安全性。鉴于其名称,这不足为奇。很棒的是类型是完全可选的。您的JavaScript代码.js文件可以重命名为.ts文件,TypeScript仍会给您有效的.js等效于原始JavaScript文件的信息。 TypeScript严格地是JavaScript的超集,具有可选的类型检查 https://dmrelease.blob.core.windows.net/azurestoragejssample/samples/sample-table.html

请告知我们以上内容是否对您有帮助,或者您在此问题上需要进一步的帮助。 如果您收到任何错误消息或错误代码,请分享屏幕截图