我正在使用GoInstant开发一个应用程序,但键和通道之间的区别并不是很清楚.我什么时候应该使用键与频道?
我目前是firebase客户,并且在firebase中遇到了这个非常糟糕的性能问题:Firebase加载性能,其中初始websocket握手将整个应用程序的加载延迟了一秒或更长时间.
我很好奇,如果这个问题解决了吗?我们的想法是先创建一个传统的xhr,然后在建立连接时交换到websockets.
我看到很多回调函数接受contextGoInstant文档中引用的参数,但是不清楚这个参数是什么或者它用于什么.
我有一个文本区域,我正在与GoInstant同步.这是代码的样子:
var myRoom = platform.room('myRoom');
var myKey = myRoom('myKey');
// Listen to set events on the platform key and update a textarea
myKey.on('set', function(textAreaContent) {
$('textarea').val(textAreaContent);
});
// When the textarea changes, set the platform key
$('textarea').on('change', function(){
var textAreaContent = $(this).val();
myKey.set(textAreaContent, function(err) {
if (err) throw err;
});
})
Run Code Online (Sandbox Code Playgroud)
这会创建一个无限循环,当更新一个文本字段时,即当更改textarea的值时,这会触发一个平台密钥更新,从而无限地更改textarea的值...
编辑:基于最佳答案我想出了以下构造函数:
function BounceProtection() {
var remoteUpdate = false; // remote toggle
this.local = function(cb) {
if (remoteUpdate) return;
cb();
};
this.remote = function(cb) {
remoteUpdate = …Run Code Online (Sandbox Code Playgroud) 我有几个记录,其中有一个唯一的标识符,我希望在表单执行它的ajax帖子后删除它.假设我的goinstant存储中有5条记录,公共字段是xkey,其中的值包含123*.我的问题是如何干净地删除多个密钥?任何例子都会非常有帮助.
Slukeheart在最佳实践中得到了正确的答案:我找到了一个有效的解决方案,但我正在向Slukeheart提供正确的答案.这是我发现在今天发布解决方案的同时工作的内容:
$.ajax({
url: './angtest',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ model: mymodelobj }),
success: function (result) {
//handleData(result);
//remove old record entries to prevent table bloat.
$scope.person = $goQuery('person', { xkey: @Html.Raw(json.Encode(ViewBag.xkey1)) }, { limit: 30 }).$sync();
$scope.person.$on('ready', function () {
var tokill = $scope.person.$omit();
angular.forEach(tokill, function(person,key) {
$scope.person.$key(key).$remove();
})
});
}
Run Code Online (Sandbox Code Playgroud)
});
我想获得即时api的访问令牌,当我这样做时,它发送给我以下错误
17:21:46:505 EXCEPTION_THROWN [10] | System.CalloutException:java.lang.RuntimeException:无法生成DH密钥对
请帮我解决这个问题.