2017-05-04 142 views
2

我有一个函数可以成功地发出请求,但是在将它转换为React-Redux数据流时遇到问题,因为我无法弄清楚如何返回接收到的对象回调。Facebook图形API:从GraphRequest回调对象返回

我目前没有工作,但我相信它使请求成功,因为我可以在console.log中看到它。

import FBSDK, { AccessToken, GraphRequest, GraphRequestManager } from 'react-native-fbsdk' 

export const callback = (error, result) => { 
    if (error) { 
    console.log(error); 
    return error 
    } else { 
    console.log(result); 
    return result; 
    } 
} 

export const graphRequestFor = fields => { 
    AccessToken.getCurrentAccessToken() 
    .then(token => { 
    console.log(token); 
    const request = new GraphRequest(
     '/me', 
     { 
     accessToken: token.accessToken, 
     parameters: { 
      fields: { 
      string: fields 
      } 
     } 
     }, callback 
    ) 
    new GraphRequestManager().addRequest(request).start() 
    }) 
} 
export const login =() => { 
    graphRequestFor('first_name, last_name') 
    .then(results => { 
     return results 
    }) //undefined 
    } 

回答

0

不回答我直接问,但我的问题的解决方案是直接使API调用的动作内,从回调分派对象

import FBSDK, { AccessToken, GraphRequest, GraphRequestManager } from 'react-native-fbsdk' 

export const login = params => dispatch => { 
    AccessToken.getCurrentAccessToken() 
    .then(token => { 
    const request = new GraphRequest(
     '/me', 
     { 
     accessToken: token.accessToken, 
     parameters: { 
      fields: { 
      string: params 
      } 
     } 
     }, (error, result) => { 
     if (error) { 
      console.log(error); 
      return dispatch(receiveCurrentUser(error)) 
     } else { 
      return dispatch(receiveCurrentUser(result)) 
     } 
     } 
    ) 
    new GraphRequestManager().addRequest(request).start() 
    }) 
} 
相关问题