Ezo*_* T. 0 javascript mobx mobx-state-tree
我正在尝试将多个函数包装在一个函数中。
我有一个这样的模型:
const CookModel = types.actions(self =>({
talkToSousChefs:() => {
// talk to sous-chefs
},
talkToWaiters: () => {
// business logic
},
talkToVendors: () => {
// business logic
},
runTalkRoutine: () => {
// current code
const root = getRoot<typeof CookModel>(self)
root.talkToSousChefs()
root.talkToVendors()
root.talkToWaiters()
// what's the best practice?
}
}))
Run Code Online (Sandbox Code Playgroud)
将这些操作包含在内的最佳方式是什么runTalkRoutine?
这样就可以了,但我会self直接使用
runTalkRoutine: () => {
self.talkToSousChefs()
self.talkToVendors()
self.talkToWaiters()
}
Run Code Online (Sandbox Code Playgroud)
如果您的任何操作是异步的,您可以使用yield
如果您想要自动完成,可以将其移动runTalkRoutine到另一个操作块
const CookModel = types.actions(self =>({
talkToSousChefs:() => {
// talk to sous-chefs
},
talkToWaiters: () => {
// business logic
},
talkToVendors: () => {
// business logic
}
})).actions(self => ({
runTalkRoutine: () => {
// here you will have autocomplete on self
self.talkToSousChefs()
self.talkToVendors()
self.talkToWaiters()
}
}))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1811 次 |
| 最近记录: |