저는 Arduino와 같은 입자 광자를 프로그래밍하고 있습니다. 변수를 호출하고 해당 변수를 사용하여 .css 클래스를 div에 추가하려고합니다.jQuery/JavaScript에서 약속 사용에 문제가 있습니다. 스크립트가 대기하지 않는 것 같습니다.
문제는 변수가 초기 호출에
undefined
로 돌아오고 계속 것입니다. 그러나 몇 초 후에 다시 호출하면 정상적으로 작동합니다. 여기
particle.getVariable({ deviceId: 'DEVICE_ID', name: 'temp', auth: token }).then(function(data) {
console.log('Device variable retrieved successfully:', data);
}, function(err) {
console.log('An error occurred while getting attrs:', err);
});
그것의 나의 버전 :
이
는 입자의 API 호출입니다function getVariable(varName) {
particle.getVariable({ deviceId: device_ID, name: varName, auth: accessToken }).then(function(data) {
return data.body.result;
}, function(err) {
console.log('An error occurred while getting variable:', err);
});
}
이 같은
$(".class").addClass(getVariable("var")
와 함께 작동 할 수 있도록하고 싶습니다
저는 jQuery와 Javascript에 익숙하지 않지만 콜백과 약속에 대해 독서를하고 있습니다. 이 아이디어를 어떻게 달성 할 수 있을까요?
을 오 맙소사. 정말 고맙습니다! 나는 코드의 첫 번째 섹션의 변형을 가지고 놀았지만 두 번째 섹션에 대한 약속을 사용한다고 생각하지 않았습니다. 응. '$ (".class")와 같은 것으로 작동시키는 방법은 없나요? addClass (getVariable ("var")'? 솔루션은 작동하지만 단순화하기를 원합니다. help. – syndac
@syndac - 아니요, 결과는 비동기입니다. getVariable()에서 직접 결과를 반환 할 수는 없습니다. – jfriend00
문제가 없습니다. 도움을 다시 한번 감사드립니다! – syndac