使用带箭头函数的promises后如何传递方法的其他参数?

时间:2017-04-04 15:06:43

标签: typescript ionic-framework ionic2 arrow-functions

我是Typescript和arrow函数的新手。尝试在打字稿中写下以下内容,但我对回调后的第二个参数感到困惑 - " true"。

FB.getLoginStatus(function(response) {
  // this will be called when the roundtrip to Facebook has completed
}, true);

这就是我现在所拥有的。我需要帮助理解为什么我的位置" true"是不正确的。

//Is the user already logged in ?
this.fb.getLoginStatus().then((response: any) => {
  //Do something       
  }, true); //Why is this incorrect? 

3 个答案:

答案 0 :(得分:1)

你为什么要用呢? getLoginStatus方法是否改变了?在第一个示例中,您将回调权传递给getLoginStatus。

这与第一个示例完全相同,只是使用lambda。

this.fb.getLoginStatus((response: any) => {
  // this will be called when the roundtrip to Facebook has completed
}, true);

答案 1 :(得分:1)

这个api有两个参数 - 一个回调和一个表示命中服务器而不使用缓存信息的标志。

我肯定会为第二个参数传递true,因为您可能不想使用缓存结果来确定登录信息。

回调似乎不会返回Promise对象,因此您无法使用'然后'在上面。它是一个直接回调函数,它将在未来某个时间点返回响应(即它是异步的)。

答案 2 :(得分:0)

看起来其他人也正在使用我正在使用ionic-native / facebook的库来解决这个问题。我将跟踪Github上的以下开放票。谢谢你的帮助。

https://github.com/jeduan/cordova-plugin-facebook4/issues/315