0
我正在構建一個messenger bot,每天查詢一次API並將包含的信息發送給用戶。其託管在Heroku上,並使用Node.js的使用Node.JS和Heroku刷新api查詢
我目前使用這個查詢API:
var request = require('request');
//url for classes JSON
var url = 'https://example.api';
//get JSON, parse it and store it in jsonstorage variable
request(url, (error, response, body)=> {
if (!error && response.statusCode === 200) {
jsonstorage = JSON.parse(body)
console.log("Got a response")
} else {
console.log("Got an error: ", error, ", status code: ", response.statusCode)
}
})
這裏的問題是,它不會刷新API查詢過,因此它們的值返回的總是一樣的。如果我嘗試將它放入每天發送一次數據的函數中,它聲明jsonstorage變量是'undefined'。
如何定期刷新查詢?
謝謝!
那是你所有的代碼嗎?看起來你的'jsonstorage'變量是在請求函數的範圍內定義的,因此它將不可用於外部函數。 –
另外,如果您要保存數據,則可能需要將其存儲在數據庫中,而不是存儲在代碼中的變量中。 –
還有更多,但jsonstorage變量可以在另一個函數中訪問,即使它包含在函數的範圍內。當我在函數內遷移它時,我嘗試將它取出,但仍然會引發錯誤。從這裏的第二個答案得到這個[鏈接](http://stackoverflow.com/questions/11826384/calling-a-json-api-with-node-js)。此外,我不希望變量持續存在 - 只是爲了能夠在函數內多次調用它@LucasLazaro –