async getStorageAt(addressOrName: string | Promise<string>, position: BigNumberish | Promise<BigNumberish>, blockTag?: BlockTag | Promise<BlockTag>): Promise<string> {
await this.getNetwork();
const params = await resolveProperties({
address: this._getAddress(addressOrName),
blockTag: this._getBlockTag(blockTag),
position: Promise.resolve(position).then((p) => hexValue(p))
});
const result = await this.perform("getStorageAt", params);
try {
return hexlify(result);
} catch (error) {
return logger.throwError("bad result from backend", Logger.errors.SERVER_ERROR, {
method: "getStorageAt",
params, result, error
});
}
}
js里promise<> 代表什么,在参数那里竖线什么意思,竖线后面的Promise和,最后参数外的Promise有什么区别
这是typescript的语法,做类型校验的,promise<> 代表参数是promise,<>是泛型,表示这个promise的返回值是什么类型;竖线是或者的意思,就是参数有可能是多种类型,就用|来间隔一下,竖线后面的Promise代码代表有可能参数是个promise;参数外的Promise代表getStorageAt这个函数的返回值类型是个Promise,并且这个Promise的返回值是个string