Javascript Azure移动服务'push.apns.send'的成功回调`

Javascript Azure移动服务'push.apns.send'的成功回调`,javascript,azure,push-notification,apple-push-notifications,azure-mobile-services,Javascript,Azure,Push Notification,Apple Push Notifications,Azure Mobile Services,push.apns.send方法不调用success回调。因此,如果执行成功,我们无法确定此操作何时完成 这是我的代码(它是服务器端脚本的一部分,该脚本在其中一个数据表的insert事件上运行): 错误回调有效。例如,当我传递invaliddeviceToken时,我可以在日志中看到错误消息。但是如果执行成功,日志中没有任何内容。它似乎根本不调用success回调 在本例中没有显示,但在我的例子中,我需要success回调来更改记录的状态并保存它。不幸的是,这就是工作原理。基本上,在封面下,TC

push.apns.send
方法不调用
success
回调。因此,如果执行成功,我们无法确定此操作何时完成

这是我的代码(它是服务器端脚本的一部分,该脚本在其中一个数据表的insert事件上运行):

错误
回调有效。例如,当我传递invalid
deviceToken
时,我可以在日志中看到错误消息。但是如果执行成功,日志中没有任何内容。它似乎根本不调用
success
回调


在本例中没有显示,但在我的例子中,我需要
success
回调来更改记录的状态并保存它。

不幸的是,这就是工作原理。基本上,在封面下,TCP连接被打开到APN,与您的消息对应的字节(正确格式化)被发送到服务。如果推送成功,APNS不会返回任何响应。如果没有,它可能会立即响应(这是调用错误回调的情况),也可能不会响应-稍后当您尝试访问反馈服务时,它可能会告诉您有错误

因此,考虑到没有可靠的方法告诉
push.apns.send
的调用者推送成功,团队认为添加
success
回调(这会给人一个推送成功的错误印象)是没有意义的


您可能希望使用的一种启发式方法是首先发送推送,然后等待(
setTimeout
)一段时间,如果未调用错误回调,则假定推送成功。请注意,它并不像我上面提到的那样100%准确,但对于您的场景来说可能已经足够了。

在您的代码中进行以下更改,它将起作用

success: function(data) {
  console.log(data)
},

现在我明白了,谢谢你的澄清和解决办法。我想这对我们会有用的。
success: function(data) {
  console.log(data)
},