我从本机开始,我一直想知道的是,有时候我看到fetch的用法是这样的:
createTodo(){
fetch('http://192.168.1.34:3000/createTodo', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
content: this.state.noteText,
}),
}).then((response) => response.json())
.then((responseJson) => {
var d = new Date();
this.state.noteArray.push({
'date':d.getFullYear()+
"/"+(d.getMonth()+1) +
"/"+ d.getDate(),
'note': responseJson.data.content
});
this.setState({ noteArray: this.state.noteArray });
this.setState({noteText:''});
console.log(responseJson);
}).catch((error) => {
console.error(error);
console.log('Shit! Error occured');
});
}
这很好。
有时是:
return fetch(...)...
我有点困惑。
答案 0 :(得分:1)
fetch
是Promise,它返回另一个Promise。已解决的结果传递到下一个.then
输入参数。因此,在示例代码中,您可以处理response
函数传递的fetch
值。
当fetch
的客户想要使用createTodo
的“结果”时,可以返回createTodo
函数。 “结果”是另一个Promise,其输入参数来自createTodo
的返回值
Demo仅用于显示Promise的返回值是另一个Promise。希望您能得到提示。