JS Promise 卡在我的代码中
JS Promise is stuck to my code
都48小时了,还是想不通
我正在处理一个使用 Clarifai api 的 promise for react native。这是我的代码:
function updater(){
return ClarifaiApp.models.predict("coiner app", "https://www.coinsonline.com/wp-content/uploads/2015/11/Half-Dimes-and-Dimes.jpg").then(
function(response){
par1 = response['outputs'][0]['data']['concepts'][0];
return (par1.name);
});
}
export default class CameraScreen extends React.Component {
render(){
return(
function updater2(){
updater().then(function(getAlll){
<Text> {getAlll} </Text> //error: trying to add an object - invalid
});
);
}
}
现在,我想获得 'par1' 的值。问题是,每当我尝试在控制台中获取 getAlll 的值(par1)时,我可以获得我想要的字符串,但是当我尝试将它作为 {variable} 添加到文本中时,它会给出一个我正在尝试的错误.
中的对象
我认为问题在于您试图在渲染中渲染 Promise。我认为该消息可能有点误导。这是一个代码笔,解释了一种处理依赖于异步数据的渲染的方法。
https://codepen.io/sscaff1/pen/bMVvgN
export default class CameraScreen extends React.Component {
state = { getAll: null }
componentDidMount() {
updater().then(getAll => this.setState({ getAll }));
}
render(){
const { getAll } = this.state;
return getAll ? <Text>{getAll}</Text> : null // you can also put a loader here
}
}
都48小时了,还是想不通
我正在处理一个使用 Clarifai api 的 promise for react native。这是我的代码:
function updater(){
return ClarifaiApp.models.predict("coiner app", "https://www.coinsonline.com/wp-content/uploads/2015/11/Half-Dimes-and-Dimes.jpg").then(
function(response){
par1 = response['outputs'][0]['data']['concepts'][0];
return (par1.name);
});
}
export default class CameraScreen extends React.Component {
render(){
return(
function updater2(){
updater().then(function(getAlll){
<Text> {getAlll} </Text> //error: trying to add an object - invalid
});
);
}
}
现在,我想获得 'par1' 的值。问题是,每当我尝试在控制台中获取 getAlll 的值(par1)时,我可以获得我想要的字符串,但是当我尝试将它作为 {variable} 添加到文本中时,它会给出一个我正在尝试的错误.
中的对象我认为问题在于您试图在渲染中渲染 Promise。我认为该消息可能有点误导。这是一个代码笔,解释了一种处理依赖于异步数据的渲染的方法。
https://codepen.io/sscaff1/pen/bMVvgN
export default class CameraScreen extends React.Component {
state = { getAll: null }
componentDidMount() {
updater().then(getAll => this.setState({ getAll }));
}
render(){
const { getAll } = this.state;
return getAll ? <Text>{getAll}</Text> : null // you can also put a loader here
}
}