久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

if 語句失敗時重新運行函數

Re-running function when if-statement fails(if 語句失敗時重新運行函數)
本文介紹了if 語句失敗時重新運行函數的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我想在我的 Discord 機器人(使用 discord.js)中使用來自 reddit (reddit.com/r/SUBREDDIT/random/.json) 的隨機 api.獲取圖像工作正常,直到帖子不包含有效鏈接,但我希望它在一個單獨的文件中的函數中與其他與 api 相關的東西.我的 api.js 中的函數是:

I want to use the random api from reddit (reddit.com/r/SUBREDDIT/random/.json) in my Discord bot (using discord.js). Getting images works fine until the post doens't include a valid link, but I want it in a function in a seperate file with other api-related stuff. The function in my api.js is:

module.exports.randomReddit = async function randomReddit(reddit) {

    return new Promise((res, rej) => {
        axios.get(`https://www.reddit.com/r/${reddit}/random/.json`)
            .then(function (response) {
                res(response[0].data.children[0].data);
            })
            .catch(function (error) {
                rej(error);
            })
    })
}

在我的代碼中,我目前有:

In my code, I currently have:

        for (let i = 0; i < 10; i++) {

            randomReddit('car').then(data => {
                let regex = /.(jpg|gif|png)$/;
                let test = regex.test(data.url);

                if (test) message.channel.send(data.url)
                
                continue;

            })

        }

隨機 reddit 帖子并不總是包含有效鏈接.我想在帖子沒有有效鏈接之前再次運行該功能(randomReddit).在這種情況下,可以發送圖像.我嘗試了一些不同的方法,但它們根本不起作用..

The random reddit post doesn't always include a valid link. I would like to run the function (randomReddit) again when a post doesn't have one until a post does have a valid link. In that case, the image may be sent. I tried a few different things but they didn't work at all..

提前謝謝你.

推薦答案

使用像 承諾重試

async function randomReddit(reddit) {

    return new Promise((res, rej) => {
        axios.get(`https://www.reddit.com/r/${reddit}/random/.json`)
            .then(function (response) {
                res(response[0].data.children[0].data);
            })
            .catch(function (error) {
                rej(error);
            })
    })
}

promiseRetry(function (retry) {
    return randomReddit('test')
      .then(data => {
                let regex = /.(jpg|gif|png)$/;
                let test = regex.test(data.url);

                if (test) return data;
                
                return retry();
            })
}).then(function (value) {
    // Do smthg
});

這篇關于if 語句失敗時重新運行函數的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

discord.js v12: How do I await for messages in a DM channel?(discord.js v12:我如何等待 DM 頻道中的消息?)
how to make my bot mention the person who gave that bot command(如何讓我的機器人提及發出該機器人命令的人)
How to fix Must use import to load ES Module discord.js(如何修復必須使用導入來加載 ES 模塊 discord.js)
How to list all members from a specific server?(如何列出來自特定服務器的所有成員?)
Discord bot: Fix ‘FFMPEG not found’(Discord bot:修復“找不到 FFMPEG)
Welcome message when joining discord Server using discord.js(使用 discord.js 加入 discord 服務器時的歡迎消息)
主站蜘蛛池模板: 91精品国产乱码久久久久久久久 | 在线亚洲人成电影网站色www | 欧美一级免费看 | 久久精品亚洲国产 | 99精品欧美一区二区三区 | 国产精品久久久久一区二区三区 | 97国产精品视频人人做人人爱 | www视频在线观看 | 午夜大片| 三级av在线 | 欧美福利 | 男人天堂午夜 | 亚洲精品久久久久久久久久久 | 中文字幕欧美日韩 | 国产一区二区毛片 | 久久精品欧美一区二区三区麻豆 | 日本在线你懂的 | 精品视频在线观看 | 久久乐国产精品 | 亚洲精品一区av在线播放 | 日本精品一区二区 | 久久在线精品 | 宅女噜噜66国产精品观看免费 | 精品久久久久久久久久久久久久 | 久久免费精彩视频 | 在线激情视频 | 中文字幕一区二区三区在线乱码 | 日韩天堂av | 亚洲精品9999 | 在线亚洲人成电影网站色www | 国产露脸国语对白在线 | 性色在线 | 成人福利网站 | 欧美伊人久久久久久久久影院 | 国产成人午夜精品影院游乐网 | 精品三级在线观看 | 久久久久一区二区三区四区 | 人人做人人澡人人爽欧美 | 亚洲国产高清在线观看 | 国产欧美一区二区精品久导航 | 精品久久香蕉国产线看观看亚洲 |