Javascript 如何使用fetch而不是request?

Javascript 如何使用fetch而不是request?,javascript,node.js,reactjs,react-native,fetch,Javascript,Node.js,Reactjs,React Native,Fetch,我正在制作react native应用程序,显示我们学校的信息。我在谷歌电子表格中写下了信息,并让我的应用程序按要求抓取信息 var date = new Date() var year = date.getFullYear() var month = new String(date.getMonth() + 1) var day = new String(date.getDate()) if (month.length == 1) { month = "0" + mo

我正在制作react native应用程序,显示我们学校的信息。我在谷歌电子表格中写下了信息,并让我的应用程序按要求抓取信息

var date = new Date()
var year = date.getFullYear()
var month = new String(date.getMonth() + 1)
var day = new String(date.getDate())

if (month.length == 1) {
  month = "0" + month
}

if (day.length == 1) {
  day = "0" + day
}

const today = (year + month + day)

// arrays to save each information
var breakfast = [];
var lunch = [];
var dinner = [];
var quote = [];


var request = require('request');
//get information from google spreadsheet
request('https://script.google.com/macros/s/AKfycbzwGjC5GU3RK448VeJtGm6xXpf_UzFgps3zi5bv9gfQcfsOervJ6RYinWFi-UzGbNMg/exec?sheetName=%EC%8B%9C%ED%8A%B81', function (err, res, body) {
// get information in body tag by json form
  var dataArray = JSON.parse(body)
  for (let i = 0; i < dataArray.data.length; i++) {
// find today's information
    if (String(dataArray.data[i].gdate) == today) {
      breakfast = dataArray.data[i].gbreakfast.split(',')    
      console.log(breakfast)  
      lunch = dataArray.data[i].glunch.split(',')
      dinner = dataArray.data[i].gdinner.split(',')
      quote = "\"" + dataArray.data[i].gquote + "\""
      break
    }
  }
});

出现上述错误。我想这是因为请求,所以我想用fetch而不是request来更改代码。我该怎么办呢?

Fetch api非常容易使用,一些文档可以让您随时准备使用

至于您的实际代码,我做了一些更新,以便您可以测试fetch api,如下所示:

const list=async()=>{
变量日期=新日期()
var year=date.getFullYear()
var month=新字符串(date.getMonth()+1)
var day=新字符串(date.getDate())
如果(月长===1){
月份=“0”+月份
}
如果(day.length==1){
day=“0”+天
}
今日施工=(年+月+日)
//数组来保存每个信息
让早餐=[];
让午餐=[];
让我们共进晚餐吧;
报价=[];
试一试{
//从谷歌电子表格获取信息
const response=等待获取('https://script.google.com/macros/s/AKfycbzwGjC5GU3RK448VeJtGm6xXpf_UzFgps3zi5bv9gfQcfsOervJ6RYinWFi-UzGbNMg/exec?sheetName=%EC%8B%9C%ED%8A%B81')
if(response.ok){
var dataArray=await response.json()
for(设i=0;ilist()
好主意,因为请求的维护者。如果要使用
获取
,则。只要你粗略地看一眼就很容易了。解决了问题!多谢各位
Unable to resolve module crypto from C:\Users\munge\SEMA\node_modules\request\lib\helpers.js: crypto could not be found within the project or in these directories:
  node_modules\request\node_modules
  node_modules
  ..\node_modules

If you are sure the module exists, try these steps:
 1. Clear watchman watches: watchman watch-del-all
 2. Delete node_modules and run yarn install
 3. Reset Metro's cache: yarn start --reset-cache
 4. Remove the cache: rm -rf /tmp/metro-*
  2 |
  3 | var jsonSafeStringify = require('json-stringify-safe')
> 4 | var crypto = require('crypto')
    |                       ^
  5 | var Buffer = require('safe-buffer').Buffer
  6 |
  7 | var defer = typeof setImmediate === 'undefined'