【问题标题】:.then() javascript not working.then() javascript 不工作
【发布时间】:2016-08-02 06:43:47
【问题描述】:

我正在尝试使用 Skype Web SDK 登录。我从一些教程中获取了用于登录的代码。代码如下:

$('#signin').click(function () {
        $('#signin').hide();
        log('Signing in...');
        //debugger;
        // and invoke its asynchronous "signIn" method
        client.signInManager.signIn({
            username: 'ridaiftikhar@hotmail.com',
            password: 'sdfafa2'
        }).then(function () {
            //log in worked!
            alert('Signed in');
            $('#loginbox').hide();
            $('#chatfunctions').show();
        }, function (error) {
            //Something went wrong.
            alert(error);
        });
});

我的问题是then 中的第一个函数不起作用。如果我提供了非法用户名,它会向我显示错误消息,但即使我提供了正确的凭据,它也不会显示“已登录”警报。

【问题讨论】:

  • 对我来说你的代码是"ReferenceError: $ is not defined"
  • 你用 JQuery @Justinas 测试过代码吗?
  • @Error404 您应该将您的评论指向提出此问题的 OP。
  • @Error404 如果 OP 示例不起作用,那么我认为他缺少项目中包含的 jQuery 库。
  • 我没有得到关于“如果我提供非法用户名,它会显示错误消息但从不显示登录警报”的意外情况。首先,您将如何使用非法用户名登录,其次,then 的全部意义在于它要么调用第一个回调(成功时)第二个回调(失败时),永远不要两者兼而有之。

标签: javascript skypedeveloper


【解决方案1】:

从您的代码 sn-p 我看到您正在使用 Hotmail 帐户登录。您尝试执行的登录代码是针对 Skype for Business(不是 Skype 消费者)的 Skype Web SDK 的代码。请使用有效的 Skype for Business 帐户登录。 需要注意的另一件事:如果您使用基于用户名+密码的身份验证,那么您的组织部署了 Skype for Business 必须支持基于用户名+密码的身份验证。否则,登录将失败。

【讨论】:

    【解决方案2】:

    看来 client.signInManager.signIn 正在返回 Promise 并且当前浏览器本身不支持 Promise,尽管您可以使用 promise polyfill 来实现这一点.

    【讨论】:

    • 我尝试在我的 html 文件中使用标签
    • 您必须使用 babel 或其他一些转译器才能使其工作
    • 如果浏览器本身不支持 Promise,那么为什么要调用第二个回调呢?那么我的代码在出现错误的情况下也不应该工作,但它确实
    【解决方案3】:

    当仅给出usernamepassword 参数时,SDK 会尝试通过转到lyncdiscover.hotmail.comlyncdiscoverinternal.hotmail.com 来为该用户发现相应服务器的URL(因为给定的用户名是@hotmail.com) .由于这两个域都不存在,因此 SDK 不会得到响应,也不会解析/拒绝返回的 Promise 对象。正如 Sid 所说,需要正确的 S4B 用户名才能登录。

    SDK 确实返回了一个 Promise 对象,但它不是原生 Promise - SDK 有自己的 polyfill。

    【讨论】:

    • 谢谢,但由于您的回复有点晚,我已经找到了这个(艰难的方式)。但再次感谢:)
    猜你喜欢
    • 2021-04-18
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    相关资源
    最近更新 更多