android – 对Nativescript插件中的Java对象无效’this’

我正在尝试开发一个nativescript插件,以使用Azure SDK执行某些功能. SDK的
docs显示如下:

《android – 对Nativescript插件中的Java对象无效’this’》

所以我在我的插件中添加了以下功能:

MobileServiceUser.newUser = function (userId, client) {
    var userObject = com.microsoft.windowsazure.mobileservices.authentication.MobileServiceUser(userId); // causing the error
    client.setCurrentUser(userObject);
};

UserId是一个字符串.

然而,顶线抛出了error

JS: Error: Trying to link invalid ‘this’ to a Java object

我有一个完整的回购,显示了在Github创建此问题的最小启示.

我真的很感激任何建议如何解决这个问题.

最佳答案 这个答案有点晚,但我最近自己遇到了这个问题.希望这个答案可以帮助将来的某个人!

错误有点简单,但如果你看一下代码源,你会发现它实际上告诉你,你不能将一个变量链接到Object / Class本身作为参考:

MobileServiceUser.newUser = function (userId, client) {
  var userObject = com.microsoft.windowsazure.mobileservices.authentication.MobileServiceUser(userId);
};

如果要实例化类,则需要使用关键字new来表示此操作.如果在类构造函数调用之前没有新列出,程序只会看到您在userObject和类本身之间建立了直接链接.这应该可以解决您的问题:

var userObject = new com.microsoft.windowsazure.mobileservices.authentication.MobileServiceUser(userId);

干杯
〜Px的

点赞