首页 > 解决方案 > 来自另一个 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 文件上执行该函数时,它可以正常工作。主要代码有什么问题?

标签: node.jsapi

解决方案


主代码没有错,你只需要初始化函数

images.danbooru()

推荐阅读