我有点开始学习javascript并且有关于将同步和异步调用组合到函数的问题.这只是一个理论问题,但我希望它传达这个想法.
我们假设我们有javascript程序来决定我需要购买多少香蕉和橙子.
console.log('buy %d bananas and %d oranges', bananas, oranges)
Run Code Online (Sandbox Code Playgroud)
现在,我可以决定我可以购买多少香蕉,但我需要问我的妻子她想要多少橙子,所以我给她发短信.(我可以写一个异步函数来表示这个).
这将是我的直接方法:
var bananas = 10;
var oranges = 0;
textWife('askAboutOranges',function(number){ oranges = number; }
console.log('buy %d bananas and %d oranges', bananas, oranges)
Run Code Online (Sandbox Code Playgroud)
但对我来说这没有意义,因为我必须等待我的妻子回复,所以我可能不会及时获得橘子的数量.
所以我可以将我的程序改为:
var bananas = 10;
var oranges = 0;
textWife('askAboutOranges',function(number){
oranges = number;
console.log('buy %d bananas and %d oranges', bananas, oranges);
}
Run Code Online (Sandbox Code Playgroud)
但我不喜欢这个,因为现在我有了决定买什么的逻辑,包括香蕉,在我妻子的回应中.如果我决定不想要橘子,我必须做这样的事情:
var bananas = 10;
var oranges = 0;
if (wantOranges)
{
textWife('askAboutOranges',function(number){
oranges = number;
console.log('buy %d bananas and %d oranges', bananas, oranges); …Run Code Online (Sandbox Code Playgroud) 使用T-SQL,我试图找到最简单的方法来反转字符串中的数字.所以对于像Test123Hello有的字符串Test321Hello.
[Before] [After]
Test123Hello Test321Hello
Tt143 Hello Tt341 Hello
12Hll 21Hll
Tt123H3451end Tt321H1543end
Run Code Online (Sandbox Code Playgroud)