<template>
<div class="container">
<confirm v-model="show"
:title="title"
@on-cancel="onCancel"
@on-confirm="onConfirm"
@on-show="onShow"
@on-hide="onHide">
<p style="text-align:center;">Are you sure?</p>
</confirm>
<button @click="test">test</button>
<button @click="test2">test2</button>
</div>
</template>
<script type="text/ecmascript-6">
import { Confirm } from "vux";
let RESPOND = { response: false };
export default {
name: "",
components: { Confirm },
data() {
return {
show: false,
title: "title",
confirmTimestamp: 0
};
},
computed: {},
created() {},
methods: {
async test() {
let a = await this.confirm();
console.log('test :', a);
},
async test2() {
let a = await this.confirm();
console.log('test2 :', a);
},
onCancel() {
console.log("onCancel");
// RESPOND.response = false;
},
onConfirm() {
console.log("onConfirm");
RESPOND.response = true;
},
onShow() {
console.log("onShow");
},
onHide() {
console.log("onHide");
},
confirm() {
this.show = true;
RESPOND.response = false;
let timestamp = new Date().getTime();
this.confirmTimestamp = timestamp;
let that = this;
return new Promise(resolve => {
// RESPOND = new Proxy(
// {},
// {
// get: function(target, key, receiver) {
// // console.log(`getting ${key}!`);
// return Reflect.get(target, key, receiver);
// },
// set: function(target, key, value, receiver) {
// setTimeout(resolve(that.confirmTimestamp===timestamp?value:false), 10);
// return Reflect.set(target, key, value, receiver);
// }
// }
// );
Object.defineProperty(RESPOND, "response", {
get: function() {
console.log("get方法獲取值");
},
set: function(val) {
setTimeout(
resolve(val),
10
);
}
});
});
}
},
watch: {}
};
</script>
<style lang="less" scoped>
</style>
複製程式碼
vue sync 函式同步執行 待請求確認
相關文章
- vue 中promise 非同步請求資料VuePromise非同步
- Flutter非同步程式設計-sync*和async*生成器函式Flutter非同步程式設計函式
- ajax--實現非同步請求,接受響應及執行回撥非同步
- python併發執行request請求Python
- 立即執行函式函式
- 自執行函式函式
- 如何根據介面請求型別和請求方法,自動執行對應請求型別
- 3.13 sync、fsync和fdatasync函式函式
- 以流的形式執行 Multipart 請求
- 開發函式計算的正確姿勢——執行 Selenium Java函式Java
- 深入理解 函式、匿名函式、自執行匿名函式函式
- 使用 useRequestURL 組合函式訪問請求URL函式
- python函式每日一講 - exec執行函式Python函式
- flask路由系統、偏函式、CBV、模板、請求響應、session、請求擴充套件Flask路由函式Session套件
- OKHttp原始碼學習同步請求和非同步請求(二)HTTP原始碼非同步
- nginx+php執行請求的工作原理NginxPHP
- Elasticsearch Java Low Level REST Client(執行請求)ElasticsearchJavaRESTclient
- vue跨域請求Vue跨域
- 大規模非同步新聞爬蟲:實現一個更好的網路請求函式非同步爬蟲函式
- 關於非同步AJAX請求執行速度過快問題非同步
- vue中非同步函式async和await的用法Vue非同步函式AI
- DeferredResult——非同步請求處理非同步
- Axios 非同步請求用法解析iOS非同步
- Okhttp同步請求原始碼分析HTTP原始碼
- MySQL 對window函式執行sum函式疑似BugMySql函式
- js立即執行函式原理JS函式
- 多執行緒常用函式執行緒函式
- 03-立即執行函式函式
- c++如何使用pthread_join函式配合pthread_create函式來建立和等待執行緒完成,實現執行緒同步與控制C++thread函式執行緒
- Laravel 使用 ApiToken 認證請求LaravelAPI
- vue在元件銷燬的時候將非同步請求撤銷Vue元件非同步
- Spring Boot+Vue|axios非同步請求資料的12種操作Spring BootVueiOS非同步
- vue-cli實現非同步請求返回mock模擬資料Vue非同步Mock
- Vue筆記之render函式(二):引數與特性(待填坑)Vue筆記函式
- Android 6.0 在執行時請求許可權Android
- JavaScript 匿名函式與具名函式執行效率比較JavaScript函式
- (未完成)APC函式的執行,分析 KiDeliverApc 函式函式IDE
- vue axios 請求跨域VueiOS跨域