亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Node JS:res.send 不是一個函數

Node JS:res.send 不是一個函數

叮當貓咪 2022-09-02 17:22:57
我正在用nodeJS制作我的第一個簡單的反恐精英API機器人,但是我在res.send函數上遇到了一些問題。當我使用它時,它會拋出以下錯誤:“res.send不是一個函數”。我已嘗試將 res.send 移到請求之外,但是這只會在我刷新頁面后更新我的數據。任何幫助將不勝感激,因為我已經在這個問題上停留了一段時間。我的代碼 :const path = require('path')const express = require('express')var request = require("request")/*const getSkinfo = require('./wyrskin')*/const app = express()const publicDirectoryPath = path.join(__dirname, '/public')var skins_str = "empty"app.use(express.static(publicDirectoryPath))/*var string_skin = (JSON.stringify(getSkinfo))*/app.get('/skin', (req, res) => {    request('https://api.steamapis.com/market/items/730?api_key=xyz', { json: true }, (err, res, body) => {        if (err) { return console.log(err); }        var skins = []        var score = 0        var i;        for (i = 0; i < body.data.length; i++) {            var name = body.data[i].market_name            var price = body.data[i].prices            var img_url = body.data[i].image            if (name.includes('Factory New') && !name.includes('StatTrak')) {                skins.push(name + "," + price.avg + "^" + img_url)            }        }        var num1 = Math.floor(Math.random() * 1215);        var num2 = Math.floor(Math.random() * 1215);        var out1 = "A : " + skins[num1]        var out2 = "B : " + skins[num2]        var mySubString1 = out1.substring(            out1.lastIndexOf(",") + 1,            out1.lastIndexOf("^")        );        var price1 = parseFloat(mySubString1)        var mySubString2 = out2.substring(            out2.lastIndexOf(",") + 1,            out2.lastIndexOf("^")        );        var price2 = parseFloat(mySubString2)        skins_str = (out1 + " ~ " + out2)        console.log(skins_str)        res.send({ skins: skins_str })    })})app.listen(3000, () => {    console.log('Server is up on port 3000.')})
查看完整描述

1 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

這并不是我代理來自節點服務器的請求的方式。簽出節點提取 npm 包。承諾確實清理了代碼。


但代碼中的錯誤是,此函數的作用域中有另一個 res 變量。如果您將其重命名為響應,它應該可以正常工作?


如果您只是在響應中發送對象,也請改用。res.json()


希望這有幫助!


app.get('/skin', (req, res) => {


    request('https://api.steamapis.com/market/items/730?api_key=xyz', { json: true }, (err, response, body) => {

        if (err) { return console.log(err); }

        var skins = []

        var score = 0

        var i;

        for (i = 0; i < body.data.length; i++) {

            var name = body.data[i].market_name

            var price = body.data[i].prices

            var img_url = body.data[i].image

            if (name.includes('Factory New') && !name.includes('StatTrak')) {

                skins.push(name + "," + price.avg + "^" + img_url)


            }

        }

        var num1 = Math.floor(Math.random() * 1215);

        var num2 = Math.floor(Math.random() * 1215);

        var out1 = "A : " + skins[num1]

        var out2 = "B : " + skins[num2]


        var mySubString1 = out1.substring(

            out1.lastIndexOf(",") + 1,

            out1.lastIndexOf("^")

        );

        var price1 = parseFloat(mySubString1)


        var mySubString2 = out2.substring(

            out2.lastIndexOf(",") + 1,

            out2.lastIndexOf("^")

        );

        var price2 = parseFloat(mySubString2)


        skins_str = (out1 + " ~ " + out2)

        console.log(skins_str)

        res.json({ skins: skins_str })


    })


})


app.listen(3000, () => {

    console.log('Server is up on port 3000.')




})


查看完整回答
反對 回復 2022-09-02
  • 1 回答
  • 0 關注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號