本篇文章為大家展示了怎么在JavaScript中使用回調函數,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
作用:
js代碼會至上而下一條線執行下去,但是有時候我們需要等到一個操作結束之后再進行下一個操作,這時候就需要用到回調函數。
基本案例:
<script language="javascript" type="text/javascript"> function doSomething(callback) { // 調用回調函數 callback('我', '網名', '葉落森'); } function foo(a, b, c) { //這是回調函數 alert(a + " " + b + " " + c); } doSomething(foo); </script>
項目中的案例:
vue項目中假設store中this指向沒指向到vue,那么就可以用回調函數來實現它的iview的this.$Message效果。(當然這是很傻的。this指向沒指向到vue,我們可以把vue引進store后,再new Vue()就行。import Vue from 'vue' var vuethis=new Vue())
a.js
import {mapActions, mapGetters} from 'vuex'; export default { name: 'role', data () { return { }; }, computed: {}, methods: { ...mapActions(['getRoleData', 'getPowerData']), callbackFn(type,content){//這是回調函數 if(type){ this.$Message.success(content) }else{ this.$Message.error({ content: content, duration: 5 }) } }, initRoleId () { this.getRoleData({path:'http://www.baidu.com/',callbackFn:this.callbackFn}); } }, mounted(){ this.initRoleId(); } };
store中的js
actions: { getRoleData ({commit}, {path,callbackFn}) { axios.get(path + 'roles', {params: {pageSize: 500}}).then(res => { if(res.data.retCode=="200"){ commit('ROLE_DATA', {roleData: res.data.data.records}); }else{ callbackFn(0,res.data.message)//調用回調函數 } }); }, }
上述內容就是怎么在JavaScript中使用回調函數,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。