javascript中的代码顺序
我有一些使用匿名函数的javascript代码。我怀疑(但不确定)函数的调用与它们在代码中的顺序无关javascript中的代码顺序,javascript,anonymous-function,Javascript,Anonymous Function,我有一些使用匿名函数的javascript代码。我怀疑(但不确定)函数的调用与它们在代码中的顺序无关 app_service.callbackOfSomeKind( function (result) { console.log("result: 1" ); } ); app_service.AnotherCallback( function (result) { console.log("result: 2" ); } ); 如何确保结果1之后打印结果2???我如何确保
app_service.callbackOfSomeKind( function (result) {
console.log("result: 1" );
} );
app_service.AnotherCallback( function (result) {
console.log("result: 2" );
} );
如何确保结果1之后打印结果2???我如何确保JS在callbackOfSomeKind中的代码运行之前不会看到另一个回调?我正在考虑这样做:
app_service.callbackOfSomeKind( function (result) {
console.log("result: 1" );
app_service.AnotherCallback( function (result) {
console.log("result: 2" );
} );
} );
但是有更好的方法吗?承诺很好,我建议研究它们,但是有一种方法可以通过使用命名回调而不是Anon来简化嵌套,而无需进行重大重构:
function someCallback(result) {
console.log("result: 1" );
app_service.AnotherCallback( someOtherCallback );
}
function someOtherCallback(result) {
console.log("result: 2" );
}
app_service.callbackOfSomeKind( someCallback );
通过这种方式,您仍然可以获得所需的执行顺序,但是没有难以维护和调试的嵌套anon回调。我想这是第一个和第二个示例之间的一种折衷,但降低了复杂性和关闭成本。在这里:。但这是“实验性的”。