js非同期操作コールバック関数の実行順序を制御する方法_javascriptスキル

WBOY
リリース: 2016-05-16 17:07:27
オリジナル
1333 人が閲覧しました

要件:
fun A() { asyn(parm1, parm2, onsuccess(){ }) ;}
fun B() {asyn(paem1, parm2, onsuccess(){}) ;}

関数 B は関数 A

非同期実行

A();
B();

の後に実行する必要があります。の会った。

B をコールバック関数として A に渡し、次に A が onsuccess
A (B);

で B 関数を実行して機能要件を達成することを検討します。

js はシングルスレッドです。

1. 関数を呼び出すときに、定義の数よりも多くのパラメーターがある場合、その数よりも少ない追加のパラメーターは無視されます。パラメータ、番号の場合、不足しているパラメータ番号には自動的に未定義の値が割り当てられます。
2. 関数定義が function ステートメントで宣言されている場合、その関数定義はループまたは条件ステートメント内に出現することはできませんが、関数定義が関数リテラル メソッドで宣言されている場合は、任意の js 式に出現することができます。
3. 引数オブジェクト
関数の引数オブ​​ジェクトは、関数の呼び出し時に実際のパラメータを格納する配列のようなもので、arguments[0]、arguments[1]、arguments[2] を使用して参照できます。 ] などのパラメータ (関数の定義時にこれらのパラメータが存在しない場合でも)。ただし、引数は実際の配列オブジェクトではありません。
function a(x,y){
arguments[0] //最初のパラメータ x を表します
arguments[1] //最初のパラメータ y を表します
arguments[2] // 3 番目のパラメーター。関数
を呼び出すときに 3 つのパラメーターが渡される場合...
arguments.length //
arguments.callee(x,y) / /Call で渡されるパラメーターの実際の数を表します。
arguments オブジェクトには length 属性があり、関数の呼び出し時に実際に渡されるパラメータの数を表します。
arguments オブジェクトには callee 属性もあり、現在実行中の関数を参照するために使用されます。これは特に匿名関数で役立ちます。
4. 関数の長さ属性 (はい、関数には長さ属性もあります)
arguments.length とは異なり、関数の長さ属性は関数を定義するときの仮パラメーターの数を表します。実際のパラメータ数の関数を呼び出します。 argument.callee.length を使用して、関数の length プロパティを呼び出すことができます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート