让这个模块返回一个async函数:
[JavaScript] 纯文本查看 复制代码 var COS = require('cos-nodejs-sdk-v5');
var cos = new COS({
SecretId: '',
SecretKey: ''
});
function getfile() {
return new Promise((resolve, reject) => {
cos.getObject({
Bucket: 'scf-deploy-ap',
Region: 'ap-beijing',
Key: 'file_name',
}, function (err, data) {
console.log(err || data.Body.toString('utf8'));
CookieJDs = JSON.parse(data.Body.toString('utf8')).pt;
resolve(CookieJDs);
}
)
})
};
module.exports = async () => {
const cookies = {};
await getfile()
if (process.env.JD_COOKIE) {
if (process.env.JD_COOKIE.indexOf('&') > -1) {
console.log(`您的cookie选择的是用&隔开\n`)
CookieJDs = process.env.JD_COOKIE.split('&');
} else if (process.env.JD_COOKIE.indexOf('\n') > -1) {
console.log(`您的cookie选择的是用换行隔开\n`)
CookieJDs = process.env.JD_COOKIE.split('\n');
} else {
CookieJDs = [process.env.JD_COOKIE];
}
}
CookieJDs = [...new Set(CookieJDs.filter(item => item !== "" && item !== null && item !== undefined))]
console.log(`\n====================共有${CookieJDs.length}个京东账号Cookie=========\n`);
console.log(`==================脚本执行- 北京时间(UTC+8):${new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000).toLocaleString()}=====================\n`)
for (let i = 0; i < CookieJDs.length; i++) {
const index = (i + 1 === 1) ? '' : (i + 1);
cookieIds['CookieJD' + index] = CookieJDs[i].trim();
console.log('导出', CookieJDs[i].trim())
}
return cookies;
};
然后在外部require这个文件,找时机再调用:
[JavaScript] 纯文本查看 复制代码 const getJdCookie=require('./jdCookie.js');
// ……
// 某个地方需要开始读取Cookie,在async函数内:
const cookies=await getJdCookie();
// cookies的结构就是你原来想export出来的那个结构。
|