Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Facebook graph API:从GraphRequest回调返回对象_Javascript_Facebook_Callback_Facebook Android Sdk - Fatal编程技术网

Javascript Facebook graph API:从GraphRequest回调返回对象

Javascript Facebook graph API:从GraphRequest回调返回对象,javascript,facebook,callback,facebook-android-sdk,Javascript,Facebook,Callback,Facebook Android Sdk,我有一个函数可以成功地发出请求,但在将其转换为React Redux数据流时遇到了问题,因为我不知道如何返回回调中接收到的对象 我目前拥有的东西不起作用,但我相信它会成功地发出请求,因为我可以在console.log中看到它 import FBSDK, { AccessToken, GraphRequest, GraphRequestManager } from 'react-native-fbsdk' export const callback = (error, result) =>

我有一个函数可以成功地发出请求,但在将其转换为React Redux数据流时遇到了问题,因为我不知道如何返回回调中接收到的对象

我目前拥有的东西不起作用,但我相信它会成功地发出请求,因为我可以在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
  }

这不是对我的直接问题的回答,但我的问题的解决方案是直接在操作内部进行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()
  })
}