更改JSON变量导致以下代码段失败:
var data = {status: ''};
rosconnection.setOnOpen(function (e) {
data.status = 'Succeeded';
alert('success');
});
rosconnection.setOnError(function (e) {
data.status = 'Failed';
alert('fail');
});
data
保持为空,但在alert
内调用rosconnection.setOnOpen
。错误很难复制,因此它在ros connection
上使用,但我100%确定它至少进入了其中一个功能。
答案 0 :(得分:2)
您没有告诉我们您如何知道状态没有改变......
我的赌注是:如果没有更改data
,您就无法看到警报,因此您的代码可能看起来像这样:
var data = {status: ''};
rosconnection.setOnOpen(function (e) {
data.status = 'Succeeded';
alert('success');
});
rosconnection.setOnError(function (e) {
data.status = 'Failed';
alert('fail');
});
alert(data.status);
所以状态尚未确定。在回调中检查它。 AJAX ...
AJAX是什么意思? A用于异步,这意味着它将在未来(近或远)的某个时间触发,你无法知道何时,有时甚至不会被调用。
更新版本:
var data = {status: ''};
rosconnection.setOnOpen(function (e) {
data.status = 'Succeeded';
alert(data.status);
});
rosconnection.setOnError(function (e) {
data.status = 'Failed';
alert(data.status);
});