返回方法只是显示不确定的。如何获得回调?
我有一个foreach循环的方法。
这工作得很好,并显示一个结果列表。
下面是代码:
test() {
os.cpus().forEach(el => {
if (el.model.search('Intel') === 0) {
return el.model.match(/i(.*)-/)[1];
}
});
}
在foreach有回报,该方法返回undefined。
我知道我需要做一个callback
,但我只是不知道如何在这段代码做到这一点。
我怎样才能得到test()
返回结果?
使用.find
相反,如果发现匹配,执行.match(
操作:
test() {
const foundEl = os.cpus().find((el) => el.model.search('Intel') === 0);
if (foundEl) {
return foundEl.model.match(/i(.*)-/)[1];
}
}
因为它看起来像el.model
是一个字符串,最好使用startsWith
比.search
:
test() {
const foundEl = os.cpus().find((el) => el.model.startsWith('Intel'));
if (foundEl) {
return foundEl.model.match(/i(.*)-/)[1];
}
}
您通常需要使用回调异步操作。在同步操作(如这一个),你可以简单地return
值。
返回方法只是显示不确定的。如何获得回调?
我有一个foreach循环的方法。
这工作得很好,并显示一个结果列表。
下面是代码:
test() {
os.cpus().forEach(el => {
if (el.model.search('Intel') === 0) {
return el.model.match(/i(.*)-/)[1];
}
});
}
在foreach有回报,该方法返回undefined。
我知道我需要做一个callback
,但我只是不知道如何在这段代码做到这一点。
我怎样才能得到test()
返回结果?
使用.find
相反,如果发现匹配,执行.match(
操作:
test() {
const foundEl = os.cpus().find((el) => el.model.search('Intel') === 0);
if (foundEl) {
return foundEl.model.match(/i(.*)-/)[1];
}
}
因为它看起来像el.model
是一个字符串,最好使用startsWith
比.search
:
test() {
const foundEl = os.cpus().find((el) => el.model.startsWith('Intel'));
if (foundEl) {
return foundEl.model.match(/i(.*)-/)[1];
}
}
您通常需要使用回调异步操作。在同步操作(如这一个),你可以简单地return
值。