JavaScript 数组映射中的函数不返回承诺
Function inside JavaScript Array map not returning promises
正在尝试从函数处理数组 nodes
的所有结果,但未向 promises
添加任何内容。
const promises = nodes.map(localModelScan);
function localModelScan(node) {
let text = node.textContent;
model.then(function (res) {
if(res.check(node.text) > 0.3) return node;
}).catch((error) => {
console.error('Error:', error);
});
}
您需要在 localModelScan
函数的末尾添加 return model;
,否则 promises
将只是一个包含 undefined
.
的数组
const promises = nodes.map(localModelScan);
function localModelScan(node) {
let text = node.textContent;
return model.then(function (res) {
if(res.check(node.text) > 0.3) return node;
}).catch((error) => {
console.error('Error:', error);
});
}
或者,您可以将其写成箭头函数:
const localModelScan = (node) => model.then((res) => {
if(res.check(node.text) > 0.3) return node;
}).catch((error) => {
console.error('Error:', error);
});
const promises = nodes.map(localModelScan);
正在尝试从函数处理数组 nodes
的所有结果,但未向 promises
添加任何内容。
const promises = nodes.map(localModelScan);
function localModelScan(node) {
let text = node.textContent;
model.then(function (res) {
if(res.check(node.text) > 0.3) return node;
}).catch((error) => {
console.error('Error:', error);
});
}
您需要在 localModelScan
函数的末尾添加 return model;
,否则 promises
将只是一个包含 undefined
.
const promises = nodes.map(localModelScan);
function localModelScan(node) {
let text = node.textContent;
return model.then(function (res) {
if(res.check(node.text) > 0.3) return node;
}).catch((error) => {
console.error('Error:', error);
});
}
或者,您可以将其写成箭头函数:
const localModelScan = (node) => model.then((res) => {
if(res.check(node.text) > 0.3) return node;
}).catch((error) => {
console.error('Error:', error);
});
const promises = nodes.map(localModelScan);