【发布时间】:2017-11-15 02:33:22
【问题描述】:
我正在尝试像这样在对象中添加属性:
request(options:HttpRequestData): Promise<any> {
options.headers = options.headers || {};
options.headers['Accept'] = 'application/json';
options.headers['Content-Type'] = 'application/json'; // Error
return this._request(options);
}
但它有错误:
options.headers['Content-Type'] = 'application/json';
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
assignment of computed property/element. Computed property/element cannot be assigned on possibly undefined value
HttpRequestData 是一个对象类型:
type HttpRequestData = {
url:string,
method:string,
headers?:Object,
body?:string,
};
仅将一个值分配给 options.header(在这种情况下,'Accept')有效,但当我尝试两个或更多时它会失败。
Flow 中单次赋值和多次赋值有什么区别,如何将这些属性赋值给 options.headers 对象?
任何建议都会非常感激。
【问题讨论】:
-
看来,没有对象类型,在流中。我的意思是对象类型的语法不正确。
-
@TarasYaremkiv 谢谢,所以我刚刚更新了 headers 属性,如下所示: headers?:{ [string]: string } 但仍然出现相同的错误。
标签: javascript flowtype