我正在使用带有gulp和es6 promise的angular 1.6,它具有class Head extends Component{
constructor(){
super();
this.state = {
buttonId: null
}
this.setButton = this.setButton.bind(this);
}
setButton(id){
this.setState({buttonId: id});
}
render(){
if(this.state.buttonId == 1){
<Comic/>
}
else if(this.state.buttonId == 2){
<Contest/>
}
else {
<Comic/>
}
return(
<div>
<input className={this.state.buttonId === 1? "button1 orange" :
"button1"} onClick={() => this.setButton(1)} value="Comic"
type="button" ref="button" />
<input className={this.state.buttonId === 2? "button2 orange" :
"button2"} onClick={() => this.setButton(2)} value="Contest"
ref="button1" type="button" />
</div>
);
}
}
export default Head;
块,除了IE Edge和IE 11之外,它的工作正常。
答案 0 :(得分:2)
它们中的任何一个(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/finally)
似乎都不支持它答案 1 :(得分:1)
更多信息:
在用于 Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,如Gecko)的Edge devtools中:Chrome / 64.0.3282.140 Safari / 537.36 Edge / 17.17134 :
typeof (new Promise(()=>1).finally)
"undefined"
typeof (new Promise(()=>1).then)
"function"
typeof (new Promise(()=>1).catch)
"function"
对于我的应用程序,我使用https://cdnjs.com/libraries/es6-promise来填充Promise
(最初只是为了IE 11的polyfill)。
但是后来我发现我的应用无法在Edge中运行。
相关问题-https://github.com/stefanpenner/es6-promise/issues/330#issuecomment-425233364
现在,我已切换到Bluebird来同时填充IE 11和Edge。