2017-05-04 7 views
2

私は正常にリクエストを行いますが、受け取ったオブジェクトを返す方法を見つけることができないため、React-Reduxデータフローに変換するのに問題があります。コールバックFacebook graph 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() 
    }) 
} 
関連する問題