JavaScript中单个函数的Concat结果


const example = e => {
console.log(e);
};

每次进行API调用时,example()e都会返回不同的字符串,例如:

string onestring twostring three

有没有办法将所有这些字符串连接到一个数组中?

let arr = [];
const example = e => {
arr.push(e);
console.log(e);
};

只需在某处声明一个数组并将值推送到那里。

let arr = [];
const example = item => {
arr.push(item);
console.log(arr);
};

首先,我建议使用一个发送请求的函数,例如sendRequest()。如果你访问数据库或某个网站,你必须声明一个async函数,因为它不确定,当你得到回复时。如果api调用成功与否,sendRequest函数就可以返回一个javascript对象。关键字await等待,直到promise被解析。

现在回答您的问题:如果您的调用成功,只需将结果推送到外部定义的数组apiResults即可。

const apiResults = [];
async function sendRequest() {
try {
const apiResult = await axios.get('https://jsonplaceholder.typicode.com/todos/1');
const apiSuccess = Boolean(apiResult);

if (apiSuccess) {
apiResults.push(apiResult);
}
return { ok: apiSuccess, data: apiResult }; 
} catch (err) {
return { ok: false, data: {} };
}
}
(async function test() {
console.log('Before', apiResults);
const response = await sendRequest();
console.log('After', apiResults);
})();
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

最新更新