co(const levelOneQueries = function*(){
try{
var data = yield getResults(queries.sqlQuery1,queries.dest_sqlQ1);
console.log("Level One Query Output",data);
} catch(err){
console.log('Error gettinng results',err);
throw err;
}
return data;
})
const getResults = function* (sqlQuery,destTable){
console.log('Inside From getResults');
bigquery.startQuery({
destination: bigquery.dataset('topshowanalysis').table(destTable),
writeDisposition: 'WRITE_TRUNCATE',
allowLargeResults: 'TRUE',
query: sqlQuery
}, (err, job) => {
job.getQueryResults((err, rows) => {
result = rows;
console.log("Rows",rows);
return result;
})
})
};
我正在使用 co 库来暂停此函数/生成器 getResults。目前哪个不起作用,请帮助我解决这个 getResults 函数调用 bigQuery Query 来计算结果并将其保存在目标表中。我想等到工作完成并创建目标表。
目前 bigQuerie 的 startQuery 只给了我 jobId,我们需要 ping 它来检查作业是否完成以及是否创建了目标表。