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

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

Firebase Cloud Function 在 Prod 中不起作用。出現錯誤

Firebase Cloud Function 在 Prod 中不起作用。出現錯誤

LEATH 2022-12-02 15:44:28
轉到 URL 時出現以下錯誤。Error: could not handle the request我似乎無法弄清楚為什么。我做錯了什么?這是我的index.js文件。const functions = require('firebase-functions');var request = require('request');const admin = require('firebase-admin');admin.initializeApp();exports.addMessage = functions.https.onRequest(async (req, res) => {  const itemDescription = req.query.itemDescription;  const pageNumber = req.query.pageNumber;  const categoryId = req.query.categoryId;  const sortBy = req.query.sortBy;  const narrowSearch = req.query.narrowSearch;  cnst typeOfListing = req.query.typeOfListing;  const sellerExclusions = req.query.sellerExclusions;  const tagsExclusions = req.query.tagsExclusions;  const country = req.query.country;  const minPrice = req.query.minPrice;  const maxPrice = req.query.maxPrice;  const entriesPerPage = req.query.entriesPerPage;  const buyingFormat = req.query.buyingFormat;  let operationName = "";  let entriesPerPage2 = "";  let sortOrder = "";  let currentPage = "";  if (pageNumber !== null) {    currentPage = pageNumber;  } else {    currentPage = 1;  }  if (typeOfListing === 'active') {    operationName = "findItemsAdvanced";    entriesPerPage2 = 50;  } else {    operationName = "findCompletedItems";    if (buyingFormat === "Auction") {      entriesPerPage2 = 50;    } else {      entriesPerPage2 = 25;    }  }  let apicall = "https://URL?";  if (typeOfListing === "active") {    if (sortBy !== null) {       apicall += "&sortOrder=";       apicall += sortBy;       sortOrder = sortBy;    } else {      apicall += "&sortOrder=";      apicall += "BestMatch";      sortOrder = "BestMatch";    }  } else {    if (sortBy !== null) {       apicall += "&sortOrder=";       apicall += sortBy;       sortOrder = sortBy;    } else {      apicall += "&sortOrder=";      apicall += "EndTimeSoonest";      sortOrder = "EndTimeSoonest";    }  }  if (categoryId !== null) {    apicall += "&categoryId=";    apicall += categoryId;  }
查看完整描述

1 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

在 Cloud Functions 中,您需要通過 Promises 管理異步方法調用。request本機支持回調接口但不返回承諾。

您應該使用另一個庫,例如axios,如下所示:

exports.addMessage = functions.https.onRequest(async (req, res) => {

    try {


        // ...

        let apicall = "https://URL?";


        // ...

        apicall += "&itemFilter(0).name=SoldItemsOnly&itemFilter(0).value(0)=true";


        const response = await axios.get(apicall);


        // handle success

        // ...

        res.json({..});



    } catch (error) {

        res.status(500).send({ 'error': error });

    }

    

});

請注意,您可能需要使用“Blaze”定價計劃。


事實上,免費的“Spark”計劃“只允許向 Google 擁有的服務發出網絡請求”。請參閱https://firebase.google.com/pricing/(將鼠標懸停在“云功能”標題后面的問號上)


另請注意,request已棄用。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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