【发布时间】:2019-02-24 02:20:44
【问题描述】:
我正在尝试使用参数数组创建 API,然后使用该值进行另一个 API 调用以获取另一个数组。使用 javascript,但我每次都背着沙子。
var axios = require('axios');
var otp= [
'bitcoin', 'cat', 'orange', 'mango', 'bats', 'california'
];
optDetails = [];
const promises = otp.map(info => axios.get(`https://www.iot.com/api/?query=${info}`).then(res => res.data));
const newPromise = Promise.all(promises).then(stateData => {
optDetails.push(stateData)
optDetails.map(nextData => axios.get(`https://www.crypto.com/api/?query=${nextData.uuid}`).then(res => res.data))
});
Promise.all(newPromise).then((res) => {
console.log(res)
}, err => console.log(err));
但是我得到了这个错误
TypeError: undefined is not a function
at Function.all (<anonymous>)
at Object.<anonymous> (/home/runner/index.js:13:9)
at Module._compile (internal/modules/cjs/loader.js:654:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
at Module.load (internal/modules/cjs/loader.js:566:32)
at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
at Function.Module._load (internal/modules/cjs/loader.js:498:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:695:10)
at startup (internal/bootstrap/node.js:201:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:516:3)
【问题讨论】:
-
optDetails.push(stateData)看起来不对 - 请注意stateData本身就是一个数组 -
那么我如何将它附加到另一个arrsy或者我应该循环它
-
鉴于
optDetails为空,只需丢弃它并使用stateData而不是optDetails。
标签: javascript node.js reactjs api