什么时候 return fetch() 什么时候只使用 fetch() 请求?
When to return fetch() and when just using fetch() request?
我开始使用 React Native,我一直想知道的一件事是,有时我看到 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(...)...
我有点懵
fetch
是 Promise,return 是另一个 Promise。已解决的结果传递给下一个 .then
个输入参数。因此,在您的示例代码中,您可以处理由 fetch
函数传递的 response
值。
当 createTodo
的客户想要使用 createTodo
的 'result' 时,您可以 return 您的 fetch
功能。 'result' 是另一个 Promise,其输入参数来自 createTodo
的 return 值
Demo只是为了展示Promise的return值是另一个Promise。希望你能得到提示。
我开始使用 React Native,我一直想知道的一件事是,有时我看到 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(...)...
我有点懵
fetch
是 Promise,return 是另一个 Promise。已解决的结果传递给下一个 .then
个输入参数。因此,在您的示例代码中,您可以处理由 fetch
函数传递的 response
值。
当 createTodo
的客户想要使用 createTodo
的 'result' 时,您可以 return 您的 fetch
功能。 'result' 是另一个 Promise,其输入参数来自 createTodo
的 return 值
Demo只是为了展示Promise的return值是另一个Promise。希望你能得到提示。