我用打字稿查询了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;
}
答案 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
请告知我们以上内容是否对您有帮助,或者您在此问题上需要进一步的帮助。 如果您收到任何错误消息或错误代码,请分享屏幕截图