等待异步javascript函数
Wait for Asynchronous javascript function
我看到过关于这个问题的类似问题。我对javascript还很陌生,但我搞不懂。
我有一个函数,它调用另一个函数。
sayHello()有一个异步调用。
var hello_message = null;
function invokeSayHello(msg) {
sayHello(msg);
//next action
return hello_message;
}
function sayHello(msg) {
// simulate async call
setTimeout(function(){hello_message = msg + " World";},1000);
}
在这种情况下,hello_message返回为null。在invokeSayHello()函数中执行下一个操作行之前,我该如何等待异步调用完成,这样返回的hello_message就不会为null。
我想我应该使用回调,但不知道如何做。此外,我使用executeScript()/Senium 从java文件调用invokeSayHello()
感谢所有的帮助。
您应该在回调中使用结果。您不能/不应该等待异步函数完成。异步模式假设您使用回调。
像这样:
function invokeSayHello(msg) {
sayHello(msg);
}
function sayHello(msg) {
// simulate async call
setTimeout(function(){
var hello_message = msg + " World";
// Here you can process the result, like alerting it for example or
// passing it to another function
alert(hello_message);
}, 1000);
}
因此,基本上在异步编程中,您忘记了关键字return,并开始将回调传递给javascript函数,以便调用者可以订阅这些回调以及他想对回调中的结果执行的任何操作。。
相关文章:
- 从函数JavaScript返回不可变数组/对象
- 将对象传递给函数.JavaScript
- 如何定义const函数javascript(语法糖)
- 新的日期函数javascript
- TypeError:this.getAttribute不是一个函数-javascript
- 从函数javascript发送变量
- 扩展自容器函数Javascript
- 从内部函数javascript内部分配外部函数的对象
- 使用函数JavaScript中的函数
- 在这里使用回调函数(JavaScript)有什么好处吗
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 将“e”传递给一个新函数 - javascript
- 调用函数中的一个函数——Javascript
- 传递的变量不适用于我的函数-Javascript
- 如何将类方法设置为等于多个函数?-Javascript
- 显示php中的函数javascript
- 如何使用php代码创建函数Javascript弹出框
- 未调用的外部函数-javascript
- 如何在类中运行函数.Javascript
- 关闭mouseover上的一个函数——Javascript,jQuery