如何在使用带有箭头函数的 promise 后为方法传入其他参数



我是Typescript和箭头函数的新手。尝试用打字稿编写以下内容,但我对回调后的第二个参数感到困惑 - "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? 

你为什么要用呢?getLoginStatus 方法是否更改?在您的第一个示例中,您将回调直接传递到 getLoginStatus 中。

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

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

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

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

回调似乎没有返回 Promise 对象,因此您不能对其使用"then"。它是一个直接的回调函数,将在将来的某个点返回响应(即它是异步的(。

看起来其他人也面临着我正在使用ionic-native/facebook的库的问题。我将在 Github 上跟踪以下未结票证。感谢您的帮助。

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

相关内容

  • 没有找到相关文章