又是什么? export async function funcBSPos(diffMarkPoint, newLineHL, cycle) { console.log(cycle, '---') let newData = [] let pos = 0 if (cycle === '1h') { // let csvdata = [] newData = fetchData(); } return newData } async function fetchData() { try { const response = await axios.get('/data/csvdoge-usdt.csv'); const newData = d3.csvParse(response.data); // 在这里处理CSV数据 return newData } catch (error) { // 处理错误 console.error(error); return null } } 怎么注册promise.then?
时间: 2024-04-12 10:31:48 浏览: 173
要注册一个 Promise 的回调函数,可以使用 `then()` 方法。在你的代码中,你可以将 `then()` 方法添加到 `fetchData()` 函数的调用之后,如下所示:
```javascript
export async function funcBSPos(diffMarkPoint, newLineHL, cycle) {
console.log(cycle, '---')
let newData = []
let pos = 0
if (cycle === '1h') {
// let csvdata = []
fetchData().then((data) => {
newData = data;
// 在这里处理 newData
console.log(newData);
});
}
return newData;
}
async function fetchData() {
try {
const response = await axios.get('/data/csvdoge-usdt.csv');
const newData = d3.csvParse(response.data);
return newData;
} catch (error) {
console.error(error);
return null;
}
}
```
在上面的代码中,我们将 `then()` 方法添加到 `fetchData()` 函数的调用之后。当异步请求完成时,`then()` 方法中的回调函数将被调用,并且传递异步请求的结果作为参数。在这个例子中,我们将结果赋值给 `newData` 变量,并在回调函数中处理 `newData`。
请注意,由于异步请求是非阻塞的,所以在 `return newData;` 语句执行时,`newData` 可能仍然是空数组。如果你需要在获取到数据后再进行后续操作,可以将相关逻辑放在 `then()` 方法中。
希望这能帮到你。如果还有其他问题,请随时提问。
阅读全文