node.js - 来自另一个 js 文件的函数不执行任何操作
问题描述
我在一个名为images.js
搜索特定图像并下载它的文件中有此代码。同样是为主代码导出的一个函数:
function danbooru(){
const Danbooru = require('danbooru')
const booru = new Danbooru()
booru.posts({tags: 'rating:safe rem_(re:zero) '}).then(posts =>{
const index = Math.floor(Math.random() * posts.length)
const post = posts[index]
const url = booru.url(post.file_url)
const name = `${post.md5}.${post.file_ext}`
require('https').get(url, response=>{
response.pipe(require('fs').createWriteStream('./images/' + name))
})
})
}
module.exports = danbooru
然后该函数转到主文件gacharoll.js
以在 Twitter API 上执行:
const Twit = require ('twit');
const fs = require ('fs');
const path = require ('path');
const config = require (path.join(__dirname, 'config.js'));
const images = require('./images.js')
const T = new Twit (config);
images.danbooru
function upload_images(images){
const image_path = path.join(__dirname, '/images/' + images.name);
b64content = fs.readFileSync(image_path, {encoding: 'base64'});
console.log (random_images);
T.post('media/upload', {media_data: b64content}, function (err, data, response){
if (err){
console.log ('A ERROR HAS OCCURRED WHILE LOADING IMAGE');
console.log (err);
}
else{
console.log ('IMAGE LOADED');
console.log ('TWEETING');
const tweet_text = 'TESTE'
T.post ('statuses/update', {status: tweet_text,media_ids: new Array(data.media_id_string)}),
function (err,data,response){
if (err){
console.log ('A ERROR HAS OCCURRED WHILE SENDING IMAGE');
}
else{
console.log (data);
}
}
}
})
}
setInterval (function(){
upload_images(images);
}, 2000);
问题是:ìmages.js 中的函数没有在主文件 gacharoll.js 上执行,或者由于它不会下载图像而无法正常工作。当我在 images.js 文件上执行该函数时,它可以正常工作。主要代码有什么问题?
解决方案
主代码没有错,你只需要初始化函数
images.danbooru()
推荐阅读
- c# - 一个对象属性在列表中重复多少次
- json - 快速解析嵌套对象 json
- openssl - 如何在 CentOS 8 localhost 上为开发目的设置自签名证书?
- dynamic-programming - 动态规划问题帮助。给定一组步数,最大化楼梯总和
- c++ - 为什么在这段代码中,静态 int 不会改变或产生编译错误?
- android - 我应该在我的代码中寻找多深的 ZygoteInit ANR 故障排除?
- image - 在 Flutter 中显示图像一次
- javascript - 为什么 EventEmitter 在 mat-menu 上不起作用(触发)?
- java - 从字符串中删除一个字符 JAVA
- c++ - 在源文件中创建具有结构成员的结构