虽然这不妨碍fastlane snapshot工作,但我想知道为什么我跑步时会收到以下警告(如紫色图所示)?
[13:11:17]: ? 2018-01-23 13:11:17.281 xcodebuild[87131:11428054] iPhoneSupport: Unable to mount DeveloperDiskImage on Jack’s Apple Watch (Error Domain=com.apple.dtdevicekit Code=-402653158 "The device is passcode protected." UserInfo={NSLocalizedDescription=The device is passcode protected., com.apple.dtdevicekit.stacktrace=(
[13:11:17]: ? 0 DTDeviceKitBase 0x00000001148bffed DTDKCreateNSError + 113
[13:11:17]: ? 1 DTDeviceKitBase 0x00000001148c0831 DTDK_AMDErrorToNSError + 1135
[13:11:17]: ? 2 DTDeviceKitBase 0x0000000114901441 -[DTDKMobileDeviceToken mountDeveloperDiskImage:withError:] + 782
[13:11:17]: ? 3 DTDeviceKitBase 0x0000000114901cf8 -[DTDKMobileDeviceToken mountDeveloperDiskImageWithError:] + 488
[13:11:17]: ? 4 IDEiOSSupportCore 0x00000001147d65ae __28-[DVTiOSDevice attachToken:]_block_invoke_4 + 216
[13:11:17]: ? 5 DVTFoundation 0x0000000108a75a4f …Run Code Online (Sandbox Code Playgroud) 我当前构建的应用程序需要通过 websocket 获取所有数据,问题是没有通过 websocket 获取所有数据的功能,并且我必须从 websocket 获取单个项目。这可能意味着在页面加载时最多有 100 多个事件发送到 websocket。
import { webSocketData } from "../actions";
const setupSocket = dispatch => {
const socket = new WebSocket("ws://localhost:8889");
return new Promise((resolve, reject) => {
socket.onopen = () => {
return resolve(socket);
};
socket.onmessage = event => {
const data = JSON.parse(event.data);
dispatch(webSocketData(data));
console.log(data.type);
};
});
};
export default setupSocket;
Run Code Online (Sandbox Code Playgroud)
对于上面的代码,这意味着调度了 100 个 redux 操作,这导致我的性能非常缓慢。
我确信 React 仅在新数据可用时才会重新渲染,问题是根据发出的 100 个事件,新数据可用 100 次。
我正在使用 redux-saga 来管理这个应用程序中的副作用。页面加载后,我FETCH_EVENT_DATA可能会为页面上的每个事件调度 100 次操作 (100)。不可能延迟加载或分页,因为它们都需要立即可见。 …