JS Promise坚持我的代码

时间:2018-04-22 14:30:03

标签: javascript react-native promise clarifai

已经48小时了,仍然无法理解。

我正在处理使用Clarifai api进行反应原生的承诺。这是我的代码:

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'的价值。问题是每当我尝试在par1中获取getAlll的值时,我可以得到我想要的字符串,但是当我尝试将其作为{variable}添加到文本中时,它会出现我正在尝试的错误里面的一个物体。

1 个答案:

答案 0 :(得分:0)

我认为问题是你试图在渲染中渲染一个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
  }
 }