我有一个带有方法的类,应该给我API域.
到目前为止也是如此.但是如果我想用Node Express渲染它,我会得到一个带有1.2.3的数组.没有域名.
我认为我的问题出在异步等待?!
这是我的类方法的摘录:
class ISPConfig {
constructor(base_url,options) {
this.base_url = base_url;
this.options = options;
}
async _call() {
... // gives me the sessionId
}
async getDataByPrimaryId(ispFunction,param) {
try {
const results = await axios.post(this.base_url + ispFunction,{
session_id: await this._call(),primary_id: param
});
return await results.data.response;
//console.log(results.data.response);
} catch (err){
console.log(err);
}
}
她是我app.js的片段:
const renderHome = (req,res) => {
let domains = [],message = '';
let a = new ispwrapper.ISPConfig(BASE_URL,OPTIONS)
a.getDataByPrimaryId('sites_web_domain_get',{ active: 'y' })
.then(response => {
for (let i = 0; i < response.length; i++){
domains = response[i]['domain'].domains;
}
})
.catch(err => {
message = 'Error when retriving domains from ISPApi';
})
.then(() => {
res.render('home',{ // 'home' template file for output render
title: 'ISPConfig',heading: 'Welcome to my ISPConfig Dashboard',homeActive: true,domains,message
});
});
};
使用push(domains),我只能在HTML页面上1.2.3.
这完全对应于我的API的三个活动域.但是只是没有域名.