.get('/value', function(req, res){
res.send(un());
})
我有一个通过(v1.4.4)发出ajax请求的Polymer元素,当我进行一次调用时,它的效果非常好,但我不明白如何自动进行调用。
这是元素:
<!DOCTYPE html>
<link rel="import" href="./../bower_components/polymer/polymer.html">
<link rel="import" href="./../bower_components/iron-ajax/iron-ajax.html">
<dom-module id="neito-photoresistor">
<template>
<style>
</style>
<span>Ambient luminosity = <span>{{lum_pct}}</span> %</span>
<iron-ajax id="ajaxValueUpdater" url="http://localhost:3000/value" on-response="_updateValue" handle-as="text" debounce-duration="500">
</iron-ajax>
</template>
<script>
Polymer({
is: 'neito-photoresistor',
properties: {
lum_pct: {
type: String,
value: 'uniqid waiting to change...',
reflectToAttribute: true
}
},
ready: function() {
this.$.ajaxValueUpdater.generateRequest();//Launch the request once and it is working
},
_updateValue: function(event){
this.lum_pct = event.detail.response;//It work
}
});
</script>
</dom-module>
所以我尝试使用setInterval(),使用async()和while(true)(真是个坏主意)
以下是我的尝试和给出的错误:
ready: function() {
this.async(this.$.ajaxValueUpdater.generateRequest(), 2000);
},
错误:未捕获TypeError:callback.call不是函数 在polymer.html:1315
其他尝试:
ready: function() {
setInterval(this.$.ajaxValueUpdater.generateRequest(), 2000);
},
错误:VM93:1未捕获的SyntaxError:意外的标识符
最后一个,我确信它会起作用:
ready: function() {
var ajax = this.$.ajaxValueUpdater;
setInterval(function(ajax){
ajax.generateRequest();
}, 2000);
},
错误:未捕获的TypeError:无法读取未定义的属性“generateRequest” 在neito-photoelectricistor.html:26 (如果用this.async替换最后一个示例,则出现相同的错误)
我知道我在解决方案的一个方面。有人能帮助我吗?
答案 0 :(得分:0)
更改您的就绪功能,如下所示:
ready: function() {
var ajax = this.$.ajaxValueUpdater;
setInterval(() => {
ajax.generateRequest();
}, 2000);
},