gpt4 book ai didi

Javascript - 使函数异步

转载 作者:行者123 更新时间:2023-11-28 20:27:20 25 4
gpt4 key购买 nike

我第一次使用 Node.js 构建应用程序,对异步函数有点困惑。我越来越擅长识别何时某些内容因异步而无法工作,但仍不确定如何补救。

这是我的功能:

function titleCase(element){
var string = element.replace(/([^\W_]+[^\s-]*) */g, function(txt){
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
})
element = string;
}
var 1 = "UPPER CASE"; var2 = "lower case"; var3 = "MiXeD CaSe";
titleCase(var1);
titleCase(var2);
titleCase(var3);

console.log(var1 + " " + var2 + " " + var3);
}

(该函数应采用一个字符串并为其指定标题大小写)。

当前,当代码运行时,我得到

大写小写混合情况

很明显,console.log是在titleCase函数正确触发之前发生的。我知道一种解决方案是不使用该函数,只需为每个变量调用字符串替换 3 次,但我想学习异步执行此操作。

实现此目的的最佳方法是什么,以确保 console.log 函数仅在所有 3 个 titleCase 函数完成后触发?

最佳答案

这与异步无关,变量赋值不是这样工作的。 elementtitleCase 函数的局部变量,因此执行该赋值不会对函数外部产生任何影响。您需要返回一个值:

function titleCase(element) {
return element.replace(/([^\W_]+[^\s-]*) */g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});

}

var var1 = "UPPER CASE";
var var2 = "lower case";
var var3 = "MiXeD CaSe";
var1 = titleCase(var1);
var2 = titleCase(var2);
var3 = titleCase(var3);

console.log(var1, var2, var3);

关于Javascript - 使函数异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17139111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com